1. OSI 7 Layer
: 국제 표준기구 ISO가 발표한 Network Model
1.1. Physical Layer(물리 계층)
: Bit 신호들을 전기 신호로 변환 해 전송하는 Layer
물리 계층 자세한 설명 보러 가기
1.2. Data Link Layer(데이터 링크 계층)
: 동일한 Network 내에서의 전송 을 담당하는 Layer
☞ Network 계층은 서로 다른 두 Network 간의 전송을 담당한다는 점에서 차이가 있다.
☞ 오류 제어, 흐름 제어를 제공한다.
Data Link Layer의 오류 제어 : 오류 Frame을 버린다.
☞ 오류 Data를 재전송함으로써 오류를 복구하는 Transport Layer의 오류 제어와 차이가 있다.
1.3. Network Layer(네트워크 계층)
: IP, 라우터 장비가 속한 계층으로 Data의 전송 을 담당하는 Layer
☞ host에 IP 번호를 부여하고 도착지 IP까지의 최적의 경로를 찾는다.(Routing)
1.4. Transport Layer(전송 계층)
: 서로 다른 두 네트워크 간의 전송 을 담당하는 Layer
☞ Segmentation, 흐름 제어, 오류 제어 등을 제공한다.
Segmentation
더보기
: 상위 계층의 Data를 받아 Segment라는 단위로 나누는 것 Computer A에서 Computer B로 100MB의 비디오를 전송하는 경우 Segment 과정이 없다면 사용자는 100MB의 비디오가 모두 로딩된 후 비디오를 볼 수 있다. Segment 과정이 있다면 Segment라는 작은 단위로 나뉘어 비디오 일부분을 미리 볼 수 있다. 연결이 중간에 끊기는 경우 Segmentation을 하지 않으면 큰 Data가 날아가 손실률이 크다.
흐름 제어
더보기
: Data 전송량이 서로 다른 기기에서 전송량을 맞추는 것
Computer A : 50Mbps 처리
Computer B : 10Mbps 처리
Computer A가 Computer B에게 50Mbps씩 전송한다면 Computer B는 Computer A에게 전송량 낮춰달라고 요구
Computer A가 Computer B에게 5Mbps씩 전송한다면 Computer B는 Computer A에게 전송량 높여달라고 요구
전송량 변경을 요구하는 방법으로는 Stop&Wait, Sliding Window 등이 있다.
오류 제어
더보기
: 보낸 Data가 정확히 오류(손실)가 없는지 확인하고 오류가 있다면 해당 Data를 재전송
FEC, BEC, ARQ 등의 방식이 있다.
1.5. Session Layer(세션 계층)
: Session을 열고 닫는 기능 및 Session 복구 를 지원하는 Mechanism의 Layer
Session 복구 Check Point를 통해 동기화한다. Computer A에서 Computer B로 100MB의 Data를 전송하는 경우 (Check Point = 5MB) 48MB의 Data를 전송하는 도중에 연결이 끊기면 Check Point 덕분에 45MB부터 Session 재개가 가능하다.
1.6. Presentation Layer(표현 계층)
: Data의 변환, 압축, 암호화 등을 수행하는 Layer
더보기
Data의 변환이 왜 필요할까?
서로 다른 통신 기기 간 다른 Encoding을 사용할 수 있기 때문에 Data 변환이 필요하다.
1.7. Application Layer(응용 계층)
: 응용 프로세스를 직접 사용해 직접적인 응용 서비스를 수행 하는 Layer
☞ HTTP, FTP, SMTP, Telnet 등과 같은 Protocol이 포함되어있다.
1.8. 전송 과정
2. TCP/IP Model
: OSI Model의 Presentation Layer, Session Layer가 Application Layer로 통합된 형태 로 실제로 사용하는 Model
☞ OSI Model은 단지 Network를 묘사하기 위한 Model이다.
2.1. 전송 과정
① Transport Layer에서 TCP/UDP 의 정보, Source Port, Destination Port 등의 정보를 Header에 넣어 Data 뒤에 붙이고 캡슐화한다.
② Network Layer에서 Source IP, Destination IP 등의 정보를 Header에 넣어 Segment 뒤에 붙이고 캡슐화한다.
③ Data Link Layer에서 Sorce MAC Address, 가장 가까운 Router의 MAC Address에 대한 정보를 Header에 넣어 Packet 뒤에 붙이고 캡슐화한다. 이 때 오류 제어를 위한 정보가 담겨있는 Trailer라는 정보도 함게 붙는다.
왜 Destination MAC Address가 아닌 Router의 MAC Address일까?
더보기
A는 처음에 B의 MAC Address를 알 수 없다. DHCP, ARP 등을 통해 Router의 IP를 MAC Address로 변환하고 Router에 대한 Destination MAC Address를 만들어 Header에 넣어준다.
④ Physical Layer에서 Frame을 전기 신호로 바꿔 Data를 전송한다.
⑤ Computer A에서 Switch로 Data를 전송한다.
☞ Decaptulation을 통해 L2 Header에 대한 정보를 살펴보고 Destination(Router) MAC Address를 확인한다.
⑥ Switch에서 Router로 Data를 전송한다.
☞ Decaptulation을 통해 L3 Header에 대한 정보를 살펴보고 Destination(Computer B) IP Address를 확인한다.
⑦ Router에서 Routing Table을 통해 Computer B의 MAC Address를 확인한다.
☞ L2 Header의 Destination MAC Address를 Update한다.
⑧ Router에서 Switch로 Data를 전송한다.
☞ Decaptulation을 통해 L2 Header에 대한 정보를 살펴보고 Destination(Computer B) MAC Address를 확인한다.
⑨ Switch에서 Cam Table을 통해 Computer B로 Data를 전송한다.
참고
https://youtu.be/Fl_PSiIwtEo
VIDEO