프로그래밍 농장

TCP / IP 프로토콜 [ Underlying Technology ] 본문

TCP-IP 프로토콜

TCP / IP 프로토콜 [ Underlying Technology ]

Tennessee201 2021. 4. 19.
728x90

local network ( =LAN ) 

wide network ( =WAN) 

대부분의 LAN 은 인터넷의 WAN에 링크되어있다 .

 

-> 어떤 사업자에 속하지않는 망 ( =한국통신. . 위탁관리 ) 

 

LLC ( Logical link control )

MAC ( Media access control ) 

 : token (ring/bus) / ethernet 세가지가 존재 .

 

token :  장점 :  심플(simple) , 관리가 편리함 

           단점 : user(device)수가 많이질수록 token이 거쳐가야하는 시간이 오래걸림 -> performance의 성능 저하  

ethernet : 장점 : 전송방식구조 : BUS(분산구조형태) 

              단점 : 규칙성이없음 

 

--> 모든 시스템은 매체와 상관없이 공평하게 접근하기 위한 rule이 필요함 -> 그 룰들을 정의한것 :

--> CSMA   :  Fair한 access 방식을 갖기위해생긴 규칙  ( wifi . .등등은 모두 csma 기반으로 생성됌 )


왜 한꺼번에 보낼수있는 정보의 최대크기를 제한하였을까 ? ( Reason to setup the max payload length : )

  ->  1.  완전한 분산구조에서 모두가 똑같은 권한을 가지면, (csma) -> 프레임에 충돌(Frame Collision)이 일어남 

( ex) -> 누군가 사용하지않는 프레임에 한번에 대용량을 사용함(악의적사용자) -> 타 사용자가 양보해줘야함 -> 전체 Network의 performance가 감소 

 

->     2. 

Ethernet frame이 갖는 최대 사이즈 : 1518 byte ( 하나의 이더넷 프레임 )

-> 만약 보내려는 frame이 1518을 넘는다면, fragmentaion ( 전송규격에 맞게 자르는것 )

 

헤더값에 sequence number(시퀸스넘버)가 들어가는 layer가 제한적이다 .

 -> layer2 , layer4 (TCP) , layer5(application) 에 들어가며,  layer3(Network) 에는 없다 .

 

-> layer3에는 packet이 frame을 받았을떄, 이것이 fragmentation(분할)된것인지 ..등을 판단하는 identification field가 있긴한데, 이는 sequence number는 아니다 .

 

Buffering : 들어온 Packet(정보)를 저장해서 processing해서 어떤 port로 내보낼지를 정하는것을 기다리는것  

 

 


ipconfig (윈도우 체계) -> interfaceconfig ( 리눅스, 유닉스, 맥북 . .) : network hard에 물린 주소값들이 전부 나옴 

 

 

전송방식 : unicast / multicast / broadcast -> 현시점에서 multicast는 쓰지않음 

  1:1(point to point) 통신 = unicast (일대일 통신 / 점대점 통신)

  1:all(point to all) 통신 = broadcast ( 일대다 통신 / 점대다 통신) 

   broadcast : 내가 듣고싶던 않던 모두에게 전부 감 (노드의 차이환경 상관x / 무조건 수신,처리해야함 ) 

   multicast : 내가 듣고싶은사람에게만 감 

  post one byte의 last field 값이   0이면 unicast 1이면 multicast이다. 

 

Example) Define the type of the following destination addresses : 좌측에서 두번쨰 digit의 2진수변환값의 짝,홀수여부

A. 4A:30:10:21:10:1A     :   'A' (16 -> 2진수) : 1010  : 짝수 :  unicast 

B. 47:2 0:1B:2E:08:EE       :  '7' ( 16 -> 2진수) : 0111 : 홀수 :  multicast

C. FF:FF:FF:FF:FF:FF         :  'F'   ( 모두 F이기에 : broadcast )


- unicast frames : sent from one host to another host ( 1대1 통신 )

- broadcast frames : sent from one host to all hosts. 

 

broadcast packet, frame, segment 간에 , router는 broadcast관련된건 아무것도 fowarding 하지않음 -> 라우터가 받는순간 다른 네트워크로 절대 전송하지않음 ( local 에서만 돌음 ) 

 -> 이유 :  broadcast 는 네트 워크와 네트워크를 넘어가지않음  ( local network에서만 생존 )

 

Shared media( wifi, ethernet ) : 공유매체의 특성이자 weak point : 어떠한 쪽에서 frame을 발생시키면, 모두 다 수신할수있음 . -> 목적지 주소값이 다를경우 , 일단 받고 폐기함 . dedicate 채널이 달라도 수신은 함. 이후 주소비교

LTE : 기지국에서 나에게 channel을 하나 주는것 -> 더 안전 : 본인만 쓸수있음

 


 

CSMA ( Carrier Sense multiple access ) : to reduce the possibility of collision -Sense before transmit or

                                                      listen before talk 

                                      가장 심플하게 공정성(fairness)을 유지하면서 네트워크의 퍼포먼스를 유지할수있는 방법 

 

CD : Collision Detection  내가 보낸 프레임이 충돌났는지 감지하는 역할만 수행

CA : Collision Avoidonce 

wifi 는 CD가 아닌 CA 이다

   user(device) 유저,디바이스의 수가 늘어나면 늘어날수록 전송할수있는 권한(delivery access chance) : 네트워크 성능은 떨어진다. 

K 값  : 본인이 재전송하거나 frame을 보내기위한 시도횟수 ( count값 )

 

내가 보낸 frame(프레임)이 네트워크 오류 (network collision)이 나타났다고 깨닫는법

일정 시간동안 응답이 안돌아올경우  -->  jamming signal(frame) 을 뿌림 --> 지금 뭔가 전송하는게 있으니 다른것을 전송하지마라고 경고신호를 줌 

data frame을 보내기전 : carrier sensing을 해야한다.  R이라고하는 random number를 생성(generate) 해야함.

 R x Tfr

Random number를 곱하는 이유 : 재전송하는 시점을 다르게 하기위해서 / 기다리는 시간을 다르게 해서 충돌이 안나게

기다림 --> 끝날시 carrier sensing --> 없을경우 전송  ( 이 방법을 반복 )

 


- WLAN ( Wireless LAN )

Wireless의 접근방식은 2개로 나뉨 : Infra mode  / AD HOC mode

-> 이를 나누는 가장 큰 특징 : 공유기 ( AP : Access Point ) 를 사용하는지의 여부 -> 사용하면 Infra mode 

-> Infra mode 공유기를 사용하면 바로옆에 있어도 공유기를 거쳐서 통신함 (무조건)= relay(릴레이)mode=프락시모드

  < AP가 있음 > 

-> AD HOC mode : DTD ( Device to Device ) : 직접 통신  < 차이점 : AP가 없음 >

  --> Infra mode와 다르게 AP가 없기에, 모든 node가 bicon frame을 뿌림( 모든 node가 AP 이다. )

 

wifi를 켤시 내 주변 공유기의 이름을 전부 확인가능한 이유 : 250m/sec 간격으로 각 네트워크들이 mac주소를 broadcast 형식으로 뿌림 : 모든 네트워크가 다 받음 : 어떤 device로든 전부 확인가능하다. 

 

SSID(Service Set ID )가 충돌할수도있나 ? : 100% 확률로 충돌한다.  : why? : SSID는 사용자 마음대로 변경이 가능하며, 중복될수도있기때문이다. 

BSS(Basic Service Set) : 하나의 AP가 커버할수있는 서비스영역 

ESS(Extended Sevice Set) : 여러개의 BSS를 하나로 묶은것 

 

728x90