- Today
- Total
프로그래밍 농장
TCP / IP 프로토콜 [ Underlying Technology ] 본문
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를 하나로 묶은것
'TCP-IP 프로토콜' 카테고리의 다른 글
TCP / IP 프로토콜 [ IP Protocol / Fragmentation ] (0) | 2021.06.14 |
---|---|
TCP / IP 프로토콜 [ address manage / packet delivery ] (0) | 2021.06.13 |
TCP / IP 프로토콜 [ Addressing /Ethernet ] (0) | 2021.04.17 |
TCP / IP 프로토콜 [ Protocol Layering ] (0) | 2021.04.15 |
TCP / IP 프로토콜 [ Network의 구조 ] (0) | 2021.03.08 |