1. Address Mapping

- IP address : universally unique

- Ethernet address(MAC address) : physical address / local LAN 에서 사용

 

# Address resolution 방법 2가지

- static : IP와 MAC 주소를 정적으로 매핑시켜놓음, 랜카드를 바꿀 경우 해당 랜카드에 맞춰 이더넷 어드레스가 바뀌므로 매핑되어있는 정보가 무의미해짐. 실질적으로 사용하기 힘듬

- dynamic : ARP , RARP 등이 있음.

 

# ARP (Address Resolution Protocol)

- IP 에 대응하는 MAC주소를 알아내기 위해.

- LAN 내에 broadcast 하고, broadcast를 받은 시스템 중 자신의 IP에 해당하는 시스템만 MAC주소를 응답.

- 20~30분간 캐시메모리에 저장

 

* ARP packet format

ARP packet format 

- 자신의 IP주소

- 자신의 Ethernet 주소

- 상대방의 IP주소

- 상대방의 Ethernet 주소 

를 넣어 전송, 회신시 상대방 Ethernet 주소를 돌려받음.

 

* proxy ARP

141.23.56.21 의 MAC을 알아내고자 ARP 요청을 했을 때, proxy ARP router 가 자신의 MAC 으로 대신 응답. 보안을 위해 사용.

 

* ARP Announcements

컴퓨터 OS가 부팅될 때 ARP broadcast 를 하여, LAN 내의 컴퓨터들의 cache 를 갱신시키게 함(자신의 IP/ethernet address갱신할 수 있게). 이때 동일한 IP를 사용중인 LAN 내의 컴퓨터가 있다면 IP충돌 노티가 발생.

 

 

# RARP (Reverse Address Resolution Protocol)

- MAC 에 대응하는 IP주소를 알아내기 위해 (ARP와 반대)

- MAC 주소를 담아 broadcast하며, 서버가 IP주소를 회신해 줌.

 

# DHCP (Dynamic Host Configuration Protocol)

- 미사용 중인 IP를 자동으로 할당

- 고정 IP 할당도 가능

- expired time 을 주어 일정시간동안만 유효한 IP 주소 제공

DHCP 동작 순서도

1) 컴퓨터가 LAN내에 broadcasting

2) 서버가 DHCP OFFER

3) 남아있는 IP 유효시간의 50% 도달시 서버에 DHCP request 를 다시보내 renewing(갱신)

4) 남아있는시간의 87.5% 도달시 1) 과정 반복

 

# ICMP(Internet control message protocol)

- IP protocol 의 경우 error control 이 없음. 이를 보완하기 위해 나온 프로토콜

- IP packet 사용

- IP header의 protocol field 가 1 인 경우 ICMP 사용

- Error reporting message(에러 보고) :

Destination unreachable, Source quench, Time exceeded, Parameter problems, Redirection

- Query messages(서버가 살아있는지 질의) :

Echo request&reply, Time-stamp request and reply, address-mask request and reply, Router solicitation and advertisement

- ICMP 를 사용의 예: ping(Echo request&reply), traceroute

 

* traceroute 동작 방식

host A 에서 host B 까지의 라우팅 알아내고자 할 때, TTL(Time to live(거쳐갈 수 있는 라우팅 갯수)) 을 사용한다.

TTL 1 로 보내어 첫번째 라우터 a에 도달시 TTL 0이 되어 라우터가 메시지를 버리며 본인의 IP를 ICMP 로 회신함. 

host A 는 a 의 IP를 찍음.

다시 TTL 2 로 보내어 a 다음의 라우터 b까지 도달하게 하며 b는 본인의 IP를 ICMP로 회신함.

host A 는 b 의 IP를 찍음. 이를 반복하여 host B까지의 라우팅 경로를 찍게 됨.

 

 

※ KOCW 성균관대학교 안성진 교수님의 컴퓨터네트워크 강의 참고

 

반응형

[ Internet protocol ]

frame Datalink layer : 연결만 관여

packet Network layer : 라우팅, 에러 관리

 

[ # Datagram protocol ]

- connectionless service

- 각각의 패킷이 독립적임

- 패킷 송신시 경로가 그때그때마다 네트워크 상황에 따라 달라짐

 

IP packet 은 네트워크에서 순서에 무관하게 수신됨

* TCP/IP (TCP over IP): ip packet 전송은 순서를 보장하지 않지만 TCP가 위에서 순서를 맞춰줌

 

[ # IP (IPv4) ]

- unreliable, connectionless databgram protocol

- best-effort delivery service (최대한 노력하는 서비스(100%보장 없단의미))

- no error control/flow control

- error detection

- reliability 가 중요하다면 TCP와 함께 써야함

- 20~60bytes 사이 가변길이 header를 갖는다(IPv6는 40bytes 로 고정)

- 각행은 4bytes

 

 

Datagram(packet)

[ header 규격 설명 ]

# 1. VER : IP version (현재는 ver.4 사용)

# 2. HLEN : header length, 행 갯수를 의미

* header length 가 5일 경우 header 의 크기는 5*4bytes = 20bytes

 

# 3. Service : TOS(type of service), DS(Differentiated service) 와 같이 서비스 종류를 구분하는 용도

* TOS : 4비트를 DTRC로 나누어, 원하는 서비스 형태를 표현 (eg: FTP 0100(T가 제일 중요), DNS 1000(D가 제일 중요))

 

# 4. Total length : IP datagram 길이, data 크기를 파악하기 위함

 

[ Fragmentation : 단편화 ] 

네트워크마다 MTU가 다르므로 datagram 을 단편화 해야한다.

아래 #5~#7 의 Identification, Flags, fragmentation offset 은 단편화 한 IP packet 의 순서를 구분하여 도착지점의 reassembly를 가능케 한다.

* MTU (Maximum transfer unit) : 송신가능한 최대 크기

* reassembly 는 최종 도착점에서만 한다. (MTU에 맞게 단편화한 IP packet을 중간 경유지 네트워크에서 다시 합치지 않는다)

 

 

# 5. Identification : fragmentation 이후 reassemble 을 할 때 ip packet 을 구분하는 용도

# 6. Flags : fragmentation 후 마지막 패킷을 구분하기 위한 용도로 사용

Flags : 1번째 비트는 미사용, 2번째 비트는 fragmentation을 원치않을때 사용, 3번째 비트가 0인경우 마지막 패킷임을 의미

# 7. fragmentation offset : 패킷 순서표시

Identification, flag, flagmentation offset의 예

# 8. Time to live (TTL) : 라우터를 거칠 때 마다 -1, 0이 될 경우 라우터에서 discard

# 9. Protocol : ip packet을 처리 후 상위계층 어디로 보내야 하는지 구분자 역할. TCP(6)/UDP(17)/ICMP(1) 등

# 10. Headerchecksum : 헤더 에러 체크 용도

# 11. Options : 최대 40bytes.

1) no operation option : header 4bytes 크기를 맞추기 위함

2) end of option : header 4bytes 크기를 맞추기 위함

3) record route option : internet router 리스트 record 목적

4) strict source route option : 송신자가 거쳐갈 route를 지정할 경우 사용

 

# IPv6가 IPv4에 비해 갖는 장점

1. address 주소가 훨씬 많음. 128bits 크기

2. 고정 header format 및 크기(40bytes)를 가지므로 처리 용이

3. 보안

 

# Transition from IPv4 and IPv6 : IPv4 에서 IPv6 으로의 전환

1. Dual stack : IPv4, IPv6을 모두 사용, DNS 의 응답으로 IPv4/IPv6 구분

2. Tunneling : IPv6 --> IPv4 --> IPv6 와 같이 중간 라우터구간에서 IPv4 사용하는 경우 사용.

3. Header translation : IPv6 헤더를 IPv4 헤더로 변환, 반대의 상황도 마찬가지.

 

※ KOCW 성균관대학교 안성진 교수님의 컴퓨터네트워크 강의 참고

반응형

Network Layer

[ Logical Addressing ]

[ 1. IPv4 Address ]

인터넷에 붙어있는 각각의 커넥션을 유일하게 식별하기 위해 사용

the connection of a device : 커넥션당 IP는 하나씩 할당

 

# ICANN (Internet Corporation for Assigned Names and Addresses) 라는 미국 기관에서 IP 주소를 관리

# 한국인터넷진흥원(KISA(Korea Internet & Security Agency)) : 국내 도메인, IP 주소 관리

 

dotted-decimal notation 

 

[ Classful addressing ]

Class A~E

Class A~C : unicast communication(1:1 통신) 에서 사용 (컴퓨터에 할당되는 IP)

Class D : multicast comm(1:N 통신) 에서 사용

Class E : 아직 미사용 (Reserved)

 

* 규모가 큰 네트워크엔 Class A , 규모가 작은 네트워크엔 Class C 부여

 

# Class A

Class A

73 netid 사용시, 시작점인 73.0.0.0(라우팅목적으로 사용) 과 73.255.255.255(broadcast용으로 사용)는 사용하지 않음.

 

# Special addresses

eg. 

Network address : 134.75.0.0 (Class B) 네트워크 주소

Direct broadcast address : eg 134.75.255.255 자신이 속한 네트워크가 아닌 특정 네트워크(134.75.*.*) 네트워크 전체에 전송

Limited broadcast address : eg 255.255.255.255 자신(134.75.*.*인 경우)이 속한 네트워크 전체(134.75.으로 시작하는 IP )에 전송 용도로 사용

Loopback address : 127.0.0.1 localhost

 

[ # Subnetting ]

- Hostid 의 일부를 Subnetid 로 사용하여 ip table 를 관리

subnet 사용과 subnet 미사용의 차이.
subnetting의 예

141.14.0.* 

141.14.64.*

141.14.192.*

141.14.128.*

hostip를 subnetip로 사용하여(ip 대역을 나눠), ip table 을 관리한다. (위 4개 대역으로 구분하여 관리)

 

[ # Mask ]

- 어디까지가 subnet인지 구분하기 위함. (network 와 host 를 구분)

- Mask 표기하는 방법은 아래 두가지 방법이 존재

DDN(Dotted-Decimal Notation)

slash notation(=Classless Interdomain Routing(CIDR) notation)

 

각 class의 Default mask

- 1로 채워진 부분은 network , 0으로 채워진 부분은 host 부분으로 구분

- Class A의 경우, DDN 방식은 255.0.0.0, CIDR 방식은 /8 (좌측기준으로 1이 채워진 갯수)이 Default mask.

eg. 내 IP 주소가 141.14.5.6 이고 Mask 는 255.255.255.0 인 경우, 해당 네트워크는 subnetting이 되어있다고 할 수 있다. (내 IP 주소 141.14.5.6 은 class B이며, class B의 default Mask 는 255.255.0.0 이므로) 

* 255.255.255.255 : 내 IP주소가 속한 141.14.5.* 에게 broadcast

 

Subnet Mast 예. hostip 중 앞의 3bit를 subnet mask 로 사용.

 

[ Classless addressing ]

- class 구분 없이 ip 를 사용

- 필요한 ip address 갯수만큼만 ip 부여

- Variable-length blocks (가변길이블럭) 을 가짐

* Classful addressing 은 네트워크 규모에 따라 class A~C 를 부여하며, 각 class 의 ip 갯수는 고정적으로 정해져 있음.

 

[ # classless addressing 의 규칙 ]

1) 연속적인 주소

2) address 갯수가 2의 배수

3) address 시작 주소가 address 갯수로 나누어 떨어지는가

classless addressing의 예

1) 32부터 47까지로 연속적인 주소 

2) 총 16개의 address 로 2의 배수

3) 시작주소 (32)가 갯수(16)로 나누어 떨어짐

* 시작주소인 205.16.37.32, 마지막주소인 205.16.37.47 은 hostip로 부여 불가

 

[ # classless address 에서의 mask ]

- mask 는 보통 slash notation만 사용

* subnet mask 부여방법 : 16개 주소 할당(우측부터 4비트 사용), 나머지 좌측bit 는 모두 1, subnet mask는 /28 (CIDR)

* 17.12.14.0/26 은 64개의 ip 주소가 할당 되어있는 셈 (맨앞(네트워크)과 맨뒤(broadcast) address 를 빼면 실제론 62개)

=> /26은 00000000.00000000.00000000.00xxxxxx 를 의미하므로..

 

classless addres 에서의 subnet mask

00001110.00000000 /27 : 노랑색영역 ~.0/27

00001110.00100000 /28 : 초록색영역 ~.32/28

00001110.00110000 /28 : 핑크색영역 ~.48(32+16)/28

* 영역 한개를 더 늘리고 싶을경우 비트 한개를 더 사용해야 함

 

 

[ # NAT (Network Address Translation) ]

주소 한개를 내부적으로 여러개로 사용가능케 함.

 

Class A,B,C 의 NAT

* 10.x.x.x, 172.16.x.x, 192.168.x.x 로 시작하는 공인IP는 없다.

 

NAT router는 외부로 나갈때 공인IP로 변환, 내부로 들어올때 NAT IP로 변환한다

1) Static NAT

사설 IP와 공인 IP를 1:1로 매핑

시스템 내의 실제 IP를 외부에 노출하지 않기 위해 사용

* 시스템 내의 real IP를 노출하지 않기 위해, 공인망의 서버는 사설망 서버에 연결할 때 NAT IP를 사용하여 붙이고, 사설망 내의 서버끼리의 연결은 real IP를 사용.

2) Dynamic NAT

IP테이블에 비어있는 주소를 부여

3) PAT (Port Address Translation)

ip와 port 를 모두 사용

프로그램을 구분하기 위해 port 사용

PAT 의 예

eg. 동일한 공인IP를 사용하는 PC1(NAT 172.18.3.1), PC2(NAT 172.18.3.2) 외부 서버(공인 IP 25.8.3.2)에 접속시

외부 서버는 PC1, PC2 의 접속을 port 로 구분. (PC1, PC2의 공인 IP는 동일)

 

[ 2. IPv6 Address ]

등장배경

- IPv4 주소 부족

- IPv4 audio/video 실시간 전송의 한계

- IPv4는 보안 기능이 없음

128 bits(16bytes)를 사용하는 IPv6

- 16진수를 사용

- DDN(dotted)표기법이 아닌, 콜론을 사용하여 표기

 

# IPv6 생략가능한 표기법

IPv6 의 표기법

1) 0000 -> 0 으로 줄임 -> 0은 생략하여 표기 생략 가능

2) 0074 -> 74 : 앞자리 0은 생략

 

 

※ KOCW 성균관대학교 안성진 교수님의 컴퓨터네트워크 강의 참고

NAT IP 에 대해 보다 자세히 쓰여있는 글 : NAT 설명1, NAT 설명2

 

 

 

 

반응형

Wireless WAN

전화망

- Base Station : 기지국

- Mobile Station : 모바일단말기

- MS<->BS 구간만 무선일 뿐 그이후는 유선.

* 도청은 일반적으로 유선구간에서..

 

# frequency reuse principal

cell 내에서 ms 는 비어있는 주파수를 scan 및 사용하여 다른 ms와의 간섭을 없앰

 

# Handoff

- hard handoff

모바일 사용하며 이동 중일 때, base station과 연결을 끊고 다른 base station과 연결함

* 이동중에 기지국이 바뀌어 전화 통화가 단절되던 과거의 방식

- soft handoff

모바일 사용하며 이동 중일 때, 다른 base station과 연결한 후 기존 base station과의 연결을 끊음

 

# Roaming

서비스 사업자간 협약을 통해 커버리지를 확장하여 서비스하는 형태 

 

 

 

반응형

 

5 계층

 

[ Repeater (L1) ]

Repeater

- 에러 인식은 불가하며 신호를 그래도 전달.

- 모든 포트에 데이터 전송하므로 충돌 도메인 분리가 이뤄지지 않아 사용자가 많을 수록 속도가 느림

- physical layer에서 사용(물리계층)

 

repeater의 예)

USB repeater
Hub

 

[ Bridges (L2) ]

- data link layer 에서 동작 (physical layer에서도 동작)

- 단순 전송만 하는 L1에서 에러 인식 및 필터링 기능이 추가됨.

- address/port를 기록한 table을 기준으로 동작/데이터 전송(L1과 달리 보내고자 하는 port에만 전송)

- 소프트웨어 기반

 

Bridge

- Transparent : station은 bridge의 존재를 모름

- Learning : bridge는 데이터 전송시 station의 address와 port를 기록하여 다음 데이터 전송시 데이터를 수신할 station에만 데이터 전송

 

# bridge 에서의 Loop

bridge Loop

 

# bridge Loop 를 해결하기 위한 Spanning tree

- Loop 가 없도록 port간의 브릿지를 거친 경로가 1개만 존재하도록 설계

- bridge 끼리 BPDUs (bridge protocol data units) 를 주고 받음. 

- smallest IP가 대표가 되도록. 

Spanning tree의 예 (B3->LAN4 는 1, LAN4->B3는 0이 그림에서 생략됨)

 

[ Switch (L2) ]

- L1의 Hub와 달리 데이터를 보내고자 하는 port에만 전송(많은 수의 사용자가 붙어도 속도 지장 없음)

- bridge와 달리 하드웨어 기반으로 빠르고 포트 수가 백여개까지 가능. (bridge는 최대 포트수가 16개)

 

[ Router (L3) ]

- ( L1 repeat + L2 error filtering + L3 routing )기능

- 네트워크에서 패킷을 전달

- 3계층의 IP 사용

 

[ Gateway (L7) ]

- 완전히 서로 다른 protocol 간 연결하는데 사용

 

# Backbone networks

network와 network를 연결하는 역할

collapsed backbone

 

 

※ KOCW 성균관대학교 안성진 교수님의 컴퓨터네트워크 강의 참고

계층별 장비 참고 : developyo.tistory.com/160?category=746382

반응형

[ Wireless LAN ]

- IEEE 802.11

- 두가지 종류의 서비스 존재 : BSS(Basic Service Set), ESS

 

[ 1. BSS (Basic Service Set) ]

AP(Access Point)의 존재여부에 따라 아래와 같이 둘로 나눔

* AP(Access Point) : IP 공유기 (router) 를 의미

1) Infrastructure mode

- AP 가 있음

- 일반적으로 가정에서 사용

 

2) Ad hoc mode

- AP 가 없음

- eg: bluetooth

 

BSS 두가지

 

[ 2. ESS (Extended Service Set) ]

- 하나의 DS에 여러개의 BSS가 연결된 네트워크 형태

* DS(Distribution System) : AP가 연결된 유선 네트워크

- ESS를 구분하기 위해 ESSID(Extended Service Set) 사용, 이를 문자열로 알아보기 쉽게 만든게 SSID

ESS와 BSS

 

 

[ 무선랜의 MAC(media access control) ]

1) DCF (Distributed Coordination Function) : CSMA/CA 와 비슷. 

2) PCF (Point Coordination Function) : POLLING 방식이므로 AP가 반드시 있어야 사용 가능. (optional)

 

 

PCF vs DCF. PCF는 polling 에 의해 데이터전송이 이뤄지므로 collision 이 없음(Contention-free), DCF 는 collision 발생 가능.

 

 

[ # DCF (Distributed Coordination Function) ]

- DCF는 CSMA/CA 사용

* 무선랜에서 CSMA/CD를 사용하지 않는 이유

: Signal fading으로 인해 collision 감지가 힘듦 (유선에선 왕복시간으로 collision을 유추하지만 무선에선 signal fading으로 왕복시간이 무의미)

 

 

[ 무선랜에서 발생하는 문제 ]

1. Hidden Terminal Problem

A는 B와 C 양쪽 영역에 모두 속해있다. B가 A에게 데이터 전송, C도 A에게 전송시 A에서 collsion이 발생하지만 B와 C는 서로의 존재를 알 수 없음.

 

 

# Hidden Terminal Problem 해결방법

RTS : Request To Send (전송 요청)

CTS : Clear To send (채널 사용 가능)

B가 영역내에 RTS를 보냄. RTS를 받은 A는 CTS를 영역내에 보냄. C는 CTS를 받으므로 A가 다른 station으로부터 RTS를 받았음을 알 수 있으며, 데이터를 보내지 않음.

 

 

2. Exposed Terminal Problem

A가 B에게 데이터를 보내기 위해 영역 내 모든 station B, C 에 신호를 보냄. C가 D에게 데이터를 보내기 위해 영역 내 모든 station A, D에게 신호를 보냄. A 와 C가 충돌이 나지만, 본래 목적과 무관하므로 이는 충돌이 나도 상관이 없는 상황. 이경우를 Exposed Terminal Problem 이라 함.

 

 

RTS, CTS로 해결하기 어려운 Exposed Terminal Problem. CTS를 받은 A가 전송하는 Data와 CTS를 받은 C가 전송하는 Data간 충돌발생.

 

 

[ # NAV (Network Allocation Vector) ]

: no carrier sensing

* 유선LAN 에선 전송할 데이터가 있을 경우 각각의 station은 carrier sensing 을 함.

RTS-CTS-DATA전송-ACK 과정 동안 타 station들은 모두 NAV 상태

 

 

# DCF 와 PCF 가 모두 사용되는 경우 

AP가 polling 하면 PCF사용하는 station이 데이터 전송, ACK 까지 DCF 사용하는 모든 station은 NAV 상태.

 

# 무선랜의 Frame format

 

 

# 무선랜 주소 체계 (wireless LAN addressing mechanism)

무선랜 주소 체계

toDS fromDs 0, 0 동일한 BSS 내에서 컴퓨터간 데이터 전송

toDS fromDs 0, 1 AP로부터 오는 경우 

toDS fromDs 1, 0 AP로 가는경우

toDS fromDS 1, 1 은 AP to AP 를 의미

 

 

[ Bluetooth ]

- IEEE 802.15

- 무선랜 기술 중 하나

- 서로다른 기능을 하는 기기간의 연결을 하기 위해 생겨남

- PAN(Personal area network)

- ad hoc network (AP가 없는 BSS)

- 두가지 타입 : piconet, piconet을 확장시킨 scatternet 

 

# piconet

- 블루투스에선 piconet 을 구성함.

- 최대 8개의 station(동시에 active상태의 station은 최대 8개), 1개는 primary, 나머지는 secondaries

 

# scatternet

piconet 에서의 secondary station 한개가 다른 piconet 의 primary 역할을 하는 구조

scatternet 의 예 : piconet 이 여러개(멀티탭에 멀티탭을 연결한 것과 비슷)

 

 

※ KOCW 성균관대학교 안성진 교수님의 컴퓨터네트워크 강의 참고

반응형

[ LAN (Local Area Network) ]

- 근거리 통신망

- 한정된 지역 내에서 노드들이 고속 전송 회선으로 서로 연결하여 프로그램 파일 등을 공유하는 네트워크 망

- station, 전송 매체, 연결 장치의 하드웨어로 구성

- 유선LAN은 꼬임쌍선케이블, 동축케이블, 광케이블 등 유도매체로 구성

- 무선LAN은 데이터 전송에 대기 매체 사용

- 네트워크 운영체제와 응용프로그램으로 LAN을 논리적으로 구성 및 활용

 

[ IEEE의 LAN 표준안 ]

- I triple E 라고 읽음

- 1985년 IEEE(institute of electrical and electronics engineers) 에서 LAN 표준을 만들기 위해 802 프로젝트 만듦

- 데이터 링크 계층을 LLC(logical link control), MAC(media access control) 으로 나눔

* MAC 은 어떻게 매체를 접근해서 사용할지에 대한 프로토콜 (eg: CSMA/CD), 매체가 사용하는 CABLE에 따라 매체 접근 방법이 달라지므로 MAC이 다양.

* LLC 는 flow control, 에러검출 등

[ IEEE802.1 ]

- 802.1 은 LAN 과 MAN 의 네트워크간 연결 담당

- 기존의 주소 지정, 접근, 에러 회복 매커니즘 등을 변경하지 않고 서로 다른 네트워크 구조간에 있을 수 있는 비호환성 문제 해결

 

[ LLC(logical link control) ]

- IEEE에서 규정한 모든 근거리 통신망의 공통

- 802모델은 HDLC프레임을 구조를 사용, 그것을 LLC와 MAC의 2가지 기능 집합으로 나눔

- LLC는 프레임의 최종 사용자에 해당하는 논리 주소, 제어 정보, 데이터 저장

 

[ MAC(media access control) ] 

- 802 모델에서 HDLC 프레임 구조 사용에 의한 두번째 집합

- 공유 매체에 대한 충돌 해결하는 기능(CSMA/CD)

- 패킷을 받아서 경로를 지정할 다음 station의 물리주소 뿐만 아니라 정보 전달에 필요한 동기화, 플래그, 흐름, 오류제어 정보가 들어있음

- MAC 프로토콜(Media Access Control)은 서로 다른 LAN(이더넷, 토큰 링, 토큰 버스 등)에 대해 독립적

 

[ 유선 이더넷 LAN ]

IEEE에 의해 표준화 된 첫 LAN 프로토콜 중 하나

IEEE802.3 으로 표기

CSMA/CD 를 사용

 

 

[ LAN (802.3) 의 종류 ]

- Baseband : digital

- Broadband : analog

 

1. 10Base5 : Thick Ethernet 

- 10Mbps/Baseband/500meters

- 굵은 동축케이블 사용

- 오늘날은 사용하지 않음

 

2. 10Base2 : Thin Ethernet

- 10Mbps/Baseband/200meters

- 얇은 동축케이블 사용

- 오늘날은 사용하지 않음

- 10MB

 

3. 10BaseT : Twisted-Pair Ethernet

- 10Mbps/Baseband/Twisted pair

- 허브에서 사용

RJ45 jack 은 UTP(Unshielded Twisted Pair) cable(흔히 말하는 랜선)

 

4. 10Base-F : Fiber Ethernet

- 10Mbps/Baseband/Fiber

 

baseband 간 비교

 

[ LAN 표준의 변화 ] 

1. Bridged Ethernet

- bandwidth 의 증폭

- collision domain의 분리

* 리피터 사용시 bandwidth 는 증폭되나 실질적으로 하나의 케이블을 사용함과 동일하여 collision domain 분리 효과는 없다. 또한 CSMA/CD 프로토콜의 경우 collision 을 detect 해야 하므로 리피터를 최대 4개까지만 연결 가능.

a: 리피터 사용(중간에 리피터 위치), b: bridge 사용(bridge로 케이블 분리)

* 오늘날은 대부분 bridge 보다 router 사용

 

2. Switched Ethernet

- 일반 Hub는 하나의 station 에서 데이터를 전송할 때 모든 station 에 데이터를 전송

- switch Hub는 데이터 전송시 station 주소를 기록해두었다가 이후 동일 station에서 데이터 전송이 발생할 경우 필요한 목적지에만 데이터 전송

일반 Hub에서의 데이터 전송

3. Full-duplex Ethernet (CSMA/CD 사용 불필요)

- 10Base5, 10Base2 는 전화선 branch 와 동일하여, half-duplex communication(반이중(송수신 동시 불가)통신) 

- Switch Hub(10BaseT 사용)는 4Pair(남는 케이블 존재)로 full-duplex(전이중 통신)가 가능 

- CSMA/CD 사용이 불필요

- bandwidth increase : 송수신이 동시에 가능하므로..

Switch Hub

 

[ 1. Fast Ethernet ]

- 100mb 

- CSMA/CD 프로토콜 그대로 사용

- star topology  (hub) 사용

- Autonegotiation : 10mb / 100mb 모두 사용이 가능

Fast Ethernet 종류. 100Base-T4는 half-duplex, 그 외는 full-duplex

 

[ 2. Gigabit Ethernet ]

- 1000mbps (1gbps)

- 802.3z standard

- 48bit address 동일하게 사용

- frame format 동일하게 사용

- Full-Duplex mode : 송수신 동시, collision 발생 없으므로 CSMA/CD가 불필요 (Half-Duplex mode도 사용이 가능, 이땐 CSMA/CD 사용)

- cable 제한이 없어짐

: 최소 프레임 64bytes 제한(CSMA/CD)이 없어졌으며, 10base5 의 500m + bridge 4개 = 2500m제한이 없어짐

 

* Half-Duplex 에서의 케이블 길이 제한 해결 방법

1) Traditional : 가능한 케이블 최대 길이인 2.5km 까지만 쓰기

2) Carrier extension : 최소 프레임 사이즈를 512bytes 로 늘려, 가능한 케이블 최대 길이를 늘리기

3) Frame bursting : 프레임을 여러개 붙여서 보내기

 

 

스위치와 스위치간의 연결을 담당하는 스위치는 속도가 빠르게 구성

 

Gigabit Ethernet 종류

 

[ 3. 10-Gigabit Ethernet ]

- 802.3ae standard

- 48bit address 동일하게 사용

- frame format 동일하게 사용

- Full-duplex 만 사용 (CSMA/CD 사용 불필요)

- fiber-optic cable 사용

 

※ KOCW 성균관대학교 안성진 교수님의 컴퓨터네트워크 강의 참고

※ LAN 관련 참고 : velog.io/@inyong_pang/LANLocal-Area-Network

 

반응형

[ Data Link layer ] 

- upper sublayer : data link control

- lower sublayer : resolving access to the shared media (multiple-access resolution)

(master/slave 가 없는 구조에서 peer to peer 송신의 문제를 어떻게 해결할 것인가)

 

Multiple-access protocol의 종류

 

# collision : 동시에 여러개의 station이 매체에 access

 

[ ALOHA ]

- hawaii 대학교에서 개발됨(1970)

- LAN의 시초

- 모든 station 은 base station 을 통해서 통신

- 송신할 데이터가 있으면 station은 base station 을 통해 데이터를 바로 송신

회색 부분은 collision이 발생하는 부분

- base station을 공유하므로 collision이 발생할 가능성이 높음

- ACK 이 오지 않아 타이머 초과시(eg: collision으로 인해) station 은 일정시간(backoff time)을 기다린 후 재송신을 한다. (기다리는 시간은 2의 n 제곱. n이 retry 마다 증가, 특정 횟수(backoff limit)이상 실패시 포기 후 재시도는 나중에)

ALOHA 의 resending 순서도

 

 

[ Slotted ALOHA ]

- station이 데이터 송신을 마구잡이로 하는게 아니라, slot 을 정해놓고 slot의 시작 시간에 도달했을 때만 station이 데이터를 송신

collision으로 손해보는 시간이 기존 ALOHA 보다 적다(효율 높음)

 

[ CSMA (Carrier Sense Multiple Access) ]

- 데이터를 보내기 전 데이터를 누가 보내고 있는지 확인(sense before transmit) 후 데이터 전송

- propagation delay로 인해 collision 가능성은 여전히 존재

A의 frame 전송이 D에게 감지되기 까지 걸리는 시간(전파 시간)이 collision이 발생할 수 있는 vulerable time이다.

 

# Persistence methods

아래와 같은 두 상황에 어떻게 처리 할 지에 대한 방법.

- when channel is busy : 채널이 이미 사용 중일때

- when channel is idle : 채널이 사용중이지 않을 때

 

- persistence 의 종류 3가지

1) 1-persistent : 채널의 상태를 계속 확인하여 idle 일 때 바로 보냄 (효율은 좋지만 collision가능성 높음) (보통 경우 사용)

2) Nonpersistent : 일정 간격으로 확인(sense)하여 idel 이면 보냄

3) p-persistent : 채널 상태를 계속 확인하여 idle 일 때 p 확률로 데이터를 보냄 (보내지 않는 경우, time slot이 지나고 난 후 p 확률로 재시도)

persistence 의 종류
persistence 순서도

 

[ CSMA/CD (CSMA with Collision Detection) ]

- 유선랜에서 사용.

- CSMA + CD(collision Detection): 충돌 감지시 전송 중지

collision을 감지(detection) 할 경우 전송 중지
CSMA/CD 에서의 resending 순서도

 

[ CSMA/CA (CSMA with Avoidance) ]

- 무선랜에서 사용

- CSMA + CA(collision Avoidance): collision 을 회피

- CD를 사용못하는 이유 : 무선환경에선 기타 요소가 많아 collision detection(CD)가 불가.

* 유선환경에서 collision 을 감지하는 방법 : 유선 송신 시간*2 (보내는시간 + 충돌 후 되돌아오는 시간) 소요시 collision

 

- avoidance 방법 3가지

1) interframe space(IFS) : idle 상태에서 바로 보내지 않고 IFS 를 두어 collision 회피

2) Contention Window : (=backoff time) 충돌시 일정 시간(2의 n제곱) 기다린 후 재전송 시도

3) Acknowledgements : ACK 를 기다리는 timer 

CSMA/CA 순서도

 

 

# multiple-access resolution 3가지 방법

1. contention (Window) : 충돌 후 window 만큼 기다린 후 재시도

2. reservation : 예약 후 전송

3. channelization : 채널화 

 

 

[ Controlled-access protocols ]

1. Reservation : reservation frame 을 전송하여 데이터 전송 예약

2. Polling : primary(master)/secondary(slave)

3. Token passing : token을 가진 station만 데이터 전송

 

[ Channelization protocols ]

1. FDMA (Frequency-Division Multiple Access)

- 컴퓨터마다 사용 주파수(=채널)를 다르게

- 라디오에서 사용 (eg: mbc 91.9)

* Hz : 1초에 진동 횟수(100Hz : 진동폭 1초 100회)

 

2. TDMA (Time-Division Multiple Access)

- 시간을 할당하여 컴퓨터에 할당 및 컴퓨터는 할당받은 시간에 데이터 전송

 

3. CDMA (Code-Division Multiple Access)

1) 하나의 채널에 모든 컴퓨터가 데이터 전송

2) 모든 컴퓨터가 데이터를 동시에 보낸다는 점에서 TDMA와 다름

3) 하나의 채널에서 모든 컴퓨터가 데이터를 전송하므로 FDMA와 다름

4) CDMA 구현 방법

 

# Chips code

스테이션이 가지고 있는 sequence of number

Chips code의 예 (순서대로 A,B,C,D)

 

# Chips Code 를 정하는 방법

Chips Code 를 구하는 방법
station 이 4개인 경우, A B C D 는 위에서 부터 순서대로 [1,1,1,1], [1,-1,1,-1] 와 같다(C, D 생략)

 

# orthogonal seqences (직교)

다른 코드와 곱하면 0, 자신 코드와 곱하면 스테이션 수가 나오는 성질 (동일 채널에서 다른 코드를 구분하기 위한 방법)

위 A,B,C,D는 각각 자신과 곱해서 더할 경우 스테이션의 수인 4, 다른 코드와 곱하면 0이 나옴

(eg: A * A = [1,1,1,1], A * B = [1,-1,1,-1])

 

CDMA Encoding

# Encoding

Bit 0 은 -1, Bit 1 은 +1, Silent 는 0

station A는 [+1,+1,+1,+1], 전송 하고자 하는 Bit 0은 -1 이므로 이를 곱해 [-1,-1,-1,-1] 로 만듬

station B는 [+1,-1,+1,-1], 전송하고자 하는 Bit 0 은 -1 이므로 이를 곱해 [-1,+1,-1,+1] 로 만듬

C, D 는 생략..

ABCD 를 모두 더한 값 [-1,-1,-3,+1] 을 전송

CDMA Decoding

# Decoding

Station A 의 데이터를 확인하려면 전송 받은 값 [-1,-1,-3,+1] 에 Station A [+1,+1,+1,+1] 을 곱함.

곱해서 나온 값 [-1,-1,-3,+1] 를 더하면 -4 가 나옴. 이를 4로 나누면 -1 이 나오며 이는 Bit 0을 의미.

 

 

※ KOCW 성균관대학교 안성진 교수님의 컴퓨터네트워크 강의 참고

 

 

반응형

[3강. 데이터링크 계층 프로토콜의 HDLC 2]

- frame은 헤더의 시퀀스 넘버를 사용하여 순서를 구분

# ACK 와 NAK

ACK : 정상 수신

NAK : 비정상 수신

 

[ARQ의 종류]

1. Stop N Wait ARQ

프레임을 보내고 ACK/NAK 올때까지 다음 프레임을 보내지 않음

송신측은 time out 이 나면 재전송

(송신측 sliding window 가 1인 Go-Back-N ARQ와 같다)

 

# piggybacking

ACK와 데이터를 동시에 보냄

 

2. Go-Back-n ARQ (GBn ARQ)

window 크기 : 2의 (m-1)제곱 만큼 (window 크기만큼 수신측 회신 없이 프레임 전송)

항상 순서대로 ACK 를 받아서 처리

손상 분실된 프레임 이후의 프레임 모두 재전송(효율 낮음)

구조 간단 하고 구현 단순

수신측 데이터 문제있을 경우 NAK 전송 혹은 silence

타이머 만료시 ACK 오지 않은 프레임(sliding window의 첫 프레임)부터 재전송

수신측 sliding window 크기는 1로 받고자 하는 프레임의 번호만 가리키고 있다. 수신된 프레임의 번호가 기다리는 프레임의 번호가 아닌 경우 버리고 간다.(silence)

윈도우 사이즈에서 -1 을 하는 이유.

3. Selective Repeat ARQ (SR ARQ)

Go-Back-n ARQ 비효율 문제 개선한 방식.

손상되거나 분실된 프레임만 재전송(NAK 받은 프레임)

데이터 재정렬이 필요, 별도 버퍼 필요

Timer는 각 프레임에 존재하여 각 타이머 만료시 해당 프레임을 다시 보냄.

ACK3이 오면 프레임 2만 잘 받았다고 판단

GBn ARQ vs SR ARQ

 

[HDLC (High level Data Link Control) 프로토콜]

- ISO에서 개발한 국제 표준 프로토콜.

- 점대점링크(point to point), 멀티포인트 링크에서 사용

- 오류제어를 위해 GBn ARQ, SR ARQ 방식 사용

 

1. 분류 정의

Data link 프로토콜의 종류 : Asynchronous/Synchronous protocols

Asynchronous protocols의 종류 : XMODEM, YMODEM, ZMODEM, BLAST...

Synchronous protocols의 종류 : Character-oriented protocols, Bit-oriented protocols

Bit-oriented protocols 의 종류 : SDLC, HDLC...

 

2. HDLC 의 3가지 station types

1) primary station(master): link 컨트롤에 책임을 가짐

2) secondary station(slave): master에 의해 제어당하는 station

3) combined station: primary/secondary 의 조합

 

3. Unbalanced(1:N Multi-drop(ex:전화선))/Balanced(1:1 peer to peer) 형태의 link 모두 지원

 

4. half-duplex(반이중: 전송 수신 동시에 불가 (ex: Stop N Wait ARQ))/full-duplex(전이중: 전송 수신 동시 가능 (ex: GBn ARQ)) 모두 지원

 

5. NRM(normal response mode), ARM(asynchronous response mode), ABM(asynchronous balanced mode) 지원

1) NRM: primary 의 command 에 의해 secondary가 데이터 전송 가능

2) ARM: secondary가 primary에 언제든지 데이터 전송 가능(주종 관계는 NRM과 동일)

3) ABM: primary, secondary 관계가 동등 (주로 쓰임)

 

6. Frame 형태

1) I-frames(Information frames) : 일반적인 정보가 담긴 데이터(seq 존재)

2) S-frames(Supervisory frames) : ACK, NAK...

3) Unnumbered frames(U-frames) : seq가 없는 데이터(ex: 연결/단절 신호)

 

frame 형태 : Flag-Header(address/Control)-Data-Trailer(FCS)-Flag

7. Frame 형태 - 상세

1) Flag: 1byte

2) Address: 1byte

3) Control field: 1byte

I/S/U Frame 규격

* S-Frame

REJ : GBn ARQ 에서의 NAK (NAK3 : 3이후로 전부 재전송)

SREJ : SR ARQ 에서의 NAK (NAK3 : 3만 재전송)

S-Frame 형태

* U-Frame

U-Frame의 예 : Data 전송 앞 뒤의 연결/단절 신호

4) data: N bytes

5) FCS: 2Bytes (데이터 에러 검출용)

 

[PPP (Point to Point Protocol구성요소]

1. LCP (Link Control Protocol)

데이터는 없고 링크를 관리하기 위한 프로토콜

 

2. Authentication protocols

1) PAP : 유저가 id, pw 송신, 시스템은 ACK/NAK 회신 (보안취약)

PAP에서의 frame 형태

2) CHAP : 시스템은 challenge value 를 보내고 유저는 pw 에 challenge value를 더한 값을 송신.

시스템은 그 값을 확인하여 인증처리. (pw가 노출되지 않아 보안성 높음)

CHAP에서의 frame 형태(보안성이 높은 대신 복잡)

 

3. NCP (Network control protocols)

LCP -> PAP/CHAP -> NCP -> 데이터 송신 -> NCP -> LCP 와 같은 순서

protocol 순서

※ KOCW 성균관대학교 안성진 교수님의 컴퓨터네트워크 강의 참고

반응형

[1강. 링크계층 프로토콜]

1. Data link 계층에서 하는 일

1. Frame synchronization: frame송수신 동기화

2. Flow control: 수신쪽에서 overflow가 일어나지 않도록 흐름제어

3. Error control

4. Physical addressing: 식별

5. Access control: 접근제어 (multiplex 관련)

 

2. Poll/Select

multidrop/multipoint 방식에서 line cost 를 절감하기 위해 사용하는 방법

* multidrop/multipoint : 여러 터미널이 하나의 선을 공유하는 경우 (ex: 전화선)

1) polling : primary가 secondaries 에 전송할게 있는지 질의 (데이터흐름 secondaries->primary)

2) select : primary 장치가 전송할게 있을때마다 사용 (데이터흐름 primary->secondaries)

 

3. Framing

data link 계층은 bits를 frames 로 packing. 각각의 frames 은 구분가능.

frame 내에서 single bit error 가 존재할 경우 전체에 대한 재전송이 필요.

1) fixed-size framing : 고정크기

2) variable-size framing : 가변크기

 

[2강.데이터링크 계층 프로토콜의 HDLC]

1. Frame

1) Character-oriented protocols

Character(2bytes = 8bit) 가 최소단위의 frame으로 사용됨

#byte-stuffing이란

flag bit와 data 의 bit 가 일치하는 경우 프레임 단위 구분이 모호해지는 문제가 있음.

이를 구분하기 위해 byte-stuffing(or character stuffing) 전략을 사용.

이때 삽입되는 byte를 ESC(escape character)라고 칭함

 

 

예) ESC 삽입의 예

flag와 일치하는 data bit 가 있을 경우 앞에 ESC 삽입.

ESC와 동일한 bit가 있을 경우 그 앞에도 ESC 삽입.

ESC 뒤의 데이터는 무조건 데이터 bit로 간주.

 

2) Bit-oriented protocols (주로사용)

01111110 을 주로 flag 로 사용

 

#Bit stuffing

flag와 data bit을 구분하기 위해 011111 와 같이 1이 연속적으로 5개 있는 경우 그뒤에 0을 삽입하여 flag와 data bit 를 구분

* 수신측은 1 다섯개 뒤에 있는 0은 무조건 제거

 

 

2. Flow control

수신측의 속도를 맞춰 송신측의 속도 제어

# Flow control 방법 세가지

1) XON/XOFF : 전송stat/stop

ex: PC->프린터, 프린터 출력속도가 느려 버퍼가 거의 찰 경우 PC에 stop 요청 이후 start 요청

RTS/CTS handshake 는 Xon/Xoff 기능을 위해 사용됨

2) Stop-and-wait : frame을 1개씩 보내기 

ex: 프레임 1개 전송 후 잘 받았다는 회신을 받아야 다음 프레임 전송

3) Sliding window  : frame 여러개를 한번에 보내기 

* Window size = outstanding frame의 갯수

                    = unacknowledged frame

                    = ACK를 받지 않은 frame

                    = ACK 없이 보낼 수 있는 최대 frame 수

eg. window size 가 3인 경우, ACK 없이 최대 3개 프레임을 전송 할 수 있음.

eg2. window size가 3일 때, ack 를 첫번째 송신후 받은 경우 두번째 프레임으로 부터 다시 3개까지 ACK 없이 프레임 전송 가능

 

3. Error Control

Error detection + Error correction

# Error Control 방법

1) Discarding the errors : 에러 무시 (인터넷 전화)

2) Forward Error Correction(FEC) : 수신측에서 에러 수정

3) Automatic repeat request(ARQ) : 재전송

 

※ KOCW 성균관대학교 안성진 교수님의 컴퓨터네트워크 강의 참고

반응형

+ Recent posts