- Today
- Total
프로그래밍 농장
TCP / IP 프로토콜 [ address manage / packet delivery ] 본문
각각의 bevice identify 가능 : bit 값에 따라서 관리(manage)가 간편함
A클래스가 가질수있는 네트워크주소 : 8 bit
B클래스가 가질수있는 네트워크주소 : 16 bit
C클래스가 가질수있는 네트워크주소 : 24 bit
- 목적지주소로 사용될수있는 주소
unicast ,broadcast, multicast
- 소스주소로 사용될수있는 주소
unicast ( 특별한 주소 1개만 가능 )
모두가 0/1일떄 사용되는 주소 ( 0.0.0.0 )
all zero address / all one address
all zero address -> 매우 특수/ 제한적/ but 필수적으로 사용됨 : 처음 device 구매후 설정시 필수사용 -> host와 sever가 소통하면서 DNS, NETWORK 주소등을 설정함 . ( dhcp request ... ) -> 모든 노드가 확인가능하고싶을떄
루프백 주소( loopback address )
127 .. .
시스템내에서 소프트웨어를 test하기위해서 ( ex. 공유기 .. ) 등을 프로세스내에서 소통이 잘되는지 확인하기 위한 주소 -> 시스템 내부에서만 프로세스간 통신을 위해사용 / 네트워크로 나갈수없음
private주소( private address )
주소공간이 32bit뿐이기 때문에 -> global forward 불가능 , 로컬에서만 사용가능
network prefix (24bit만 사용)
171.16 . . / 169.254 . . / 192.168 . . : 공유기주소로 주로사용
network prefix의 마지막 주소 : directed broadcast address
public주소 (public address )
전세계적으로 가능 global forwarding 가능
목적지가 broadcast address 까지인 packet은 네트워크 내에서 모든 노드까지전달되지만, 라우터(router)를 만나는 순간 더이상 forward 되지않고 폐기한다.
->
라우터(router)에서 broadcast packet을 차단(block)하는 이유 : broadcast는 모든 노드에 발생시키기떄문에 overflow가 발생한다.
NAT : private 에 발생된 device들도 public으로 변환해주서어서, globally 하게 사용하능하게 해주는 router
-> 적은 수 에 할당이된 public에 많은 user(device)들을 수용해서 network service를 만들기 위함
-> privat주소와 public주소 사이를 mapping 해주는 기능을 함.
보통 Network를 설계할때 50-60%가 사용할것이라고 생각하고 구성. -> router의 성능이 50-60프로가 넘어가면 error 발생 : -> 내가 적은수의 public 주소를 가지고도 많은수의 user들을 service할수있다면 ? -> NAT
Packet delivery
direct delivery / indirect delivery 공존
1. direct delivery가 이루어지는 경우 : sender 와 reciever가 동일 네트워크에 존재할떄
2. 마지막 router와 destination host 사이일때
-> 라우터에서
1. packet reception 확인 (수신 패킷확인)
2. destination주소 추출 (목적지주소 추출)
3. 목적지주소와 자신의주소 비교 : 같다면(동일네트워크에 존재) direct delivery
다르다면 : indirect delivery -> 라우터들을 거쳐서 진행
Forwarding (포워딩)
목적지로의 경로 결정 후 경로상의 next node에게 패킷을 전송하는것.
- Next-hop 기반 (다음노드) forwading
전체경로 정보를 라우팅테이블에 반영 X / only next-hop 정보만 반영
-> 라우팅 테이블의 크기를 줄일수있음 (메모리사이즈를)
ex) 구글에 접속하려면 20개의 ip주소값을 가져야한다 -> 20 * 32bit -> 구글엔트리 하나에 대해서 640 bit 가 들어있어야함 -> 라우팅메모리가 커짐 : 시스템메모리가 커짐 : 시스템 단가 올라감 : 단가 올라감
한국에서 구글까지 평균 19개정도의 노드를 거친다 : 라우팅 테이블
-> 이때 Next Hop 만 저장함으로써, 효율은 그대로 유지 + 라우팅 테이블의 크기를 줄다는 장점
- Network-Specific (네트워크 주소)
host단위의 라우팅 테이블 X / network prefix 단위의 라우팅 테이블 -> 라우팅 사이즈를 줄일수있다.
searching process 를 감소시킬수있음
백본 라우팅에 사용되는 dcp프로토콜은 전부 Network=Specific 단위로 되어있음
(특정지역 , 사이트 단위 ex) 상명대 , 은평구 . . )
- Host-Specific Method (호스트 주소)
로컬 네트워크에서 사용되는 최종목적지 단의 라우팅 테이블의 구조 -> host 단위.
host-specific -> GateWay -> R
-> R
위 와 같은때, host <-> GW 사이에서 호스트 주소단위로 정하여 어떤 라우터로 향할지 결정
로컬 네트워크에서 최종전달될때 사용
- Default Method (디폴트 주소)
Default -> 만능키
Internet = best-effort 서비스
해당하는 노드에 대한 정보(라우팅 테이블)가 없음
Default entry가 정의되어있음
서브넷이 없는 address 체계에서 forwaing module이 동작하는 방식
패킷 수신 -> destination address를 추출 -> 주소 비교 (내 주소, 목적지 주소) -> 어떤 클래스인지 확인 -> 클래스에 따라 네트워크 주소 추출 -> . . . .
예제 1 ) 인터넷파트에서(class) R1라우터에서의 라우팅 테이블을 구하여라
170.14.0.0/16 -> 170 = 10101010 : 10
145.80.0.0/16 -> 145 = 10010001 : 10
111.0.0.0/8 -> 111 = 01101111 : 01
192.16.7.0/24 -> 192 = 110000000 : 11
- routing(라우팅)
사전에 routing 정보를 구축하여 각 목적지로의 경로 정보를 구성
라우터의 구조 : input / output / routing processor - 세가지 단계
-> Switching fabric : 현시점 가장 비쌈
- input port : Physical layer(발생된신호 처리) -> Data link layer( 0101.. 컴퓨터신호로 변환) -> Queue
- outputport : Queue -> Data link layer( 0101.. 컴퓨터신호로 변환) -> Physical layer(발생된신호 처리)
기본적인 Switching fabric 구조 : Banyan Switch
- Flat routing : 라우터의 엔트리(entry) 갯수가 전부 동일 ( 동일레벨 ) : 소규모 구조
- Hierarchical routing : [계층적구조] : 영역을 나눈후, 같은 도메인으로 묶였을떄만 동일한 정보공유 -> 확장성이 좋음 -> 라우팅 테이블의 규모가 서로 상이하기 떄문 : 현재 모든 네트워크의 기본 구조
- Geographical routing : [위치,지리적 라우팅] : ex) GPS정보 , 특수목적으로 사용
'TCP-IP 프로토콜' 카테고리의 다른 글
TCP / IP 프로토콜 [ ARP (Address Resolution Protocol) ] (0) | 2021.06.14 |
---|---|
TCP / IP 프로토콜 [ IP Protocol / Fragmentation ] (0) | 2021.06.14 |
TCP / IP 프로토콜 [ Underlying Technology ] (0) | 2021.04.19 |
TCP / IP 프로토콜 [ Addressing /Ethernet ] (0) | 2021.04.17 |
TCP / IP 프로토콜 [ Protocol Layering ] (0) | 2021.04.15 |