프로토콜
- 통신에 참여하는 주체간에 데이터를 주고받는 과정을 정의한 규칙
- 효율성, 호환성을 위해 정해놓은 규칙으로, 다수의 벤더와 관련 제품군 등장 및 이용 가능
OSI 7계층과 TCP/IP 프로토콜
두 모델의 공통점
- 두 호스트 사이에서 이루어지는 네트워킹을 계층구조로 나눈것임
- 각 계층에서 일어나는 일들을 모듈화 가능
두 모델의 차이점
- OSI의 7,6,5층을 TCPIP에서는 한 층으로 퉁침
- 이 측면에서는 OSI가 문제해결과 성능개선이 더 좋음
1계층 : 물리계층
- 상위계층(2계층)에서 받은 비트 스트림을 상대방의 물리계층으로 보내는 기능
- 단지 데이터만 전달함
- 전송단위(PDU)는 비트
- 프로토콜: Modem, Cable, Fiber, RS-232C
- 장비: 통신 케이블, 허브(리피터)
리피터란?
- 전선(케이블)이 길수록 전기신호가 약해지는데 이를 증폭해줌
- 지금은 네트워크 장비에 기본적으로 리피터기능이 탑재돼있기에 따로 리피터를 사용하지 않는다고함
허브란?
- 컴퓨터 신호를 여러개의 다른 선으로 분산시키는 장치를 총칭함
- 리피터는 1대1 연결만 가능
- 허브는 다대다로 연결 가능
- 얘도 리피터와 마찬가지로 전기신호의 증폭을 위해 사용
- CSMA/CD 방식을 적용하기에 여러 장비에서 동시에 데이터를 전송하지는 못함 (A장비에서 데이터 전송중일때 B도 전송하면 충돌발생)
- 특정 포트로만 데이터를 전송할수없고 모든 포트에 데이터를 전송하게 되기에 과도한 트래픽, 충돌 발생 -> 스위칭 허브 사용(레이어2에서 사용)
2계층 : 데이터링크 계층
- 네트워크 기기들 사이에서 데이터를 전송하는 역할
- 프레임이라는 단위
- 3계층에서 내려준 패킷을 받아 헤더와 테일에 각각 주소와 제어정보를 추가함
- 1계층을 통해 송수신되는 데이터의 전송 오류를 감지하여 재전송도 해줌
- 맥주소를 가지고 통신
- 맥주소란 컴퓨터의 물리적인 주소
- ip주소가 시작점과 끝점의 주소라면 맥주소는 중간중간지점들의 주소
- ex) 서울에서 부산으로 편지를 보낸다면 ip주소는 서울, 부산이 되고 맥주소는 서울우체국, 부산우체국1 등등이 된다
- 프로토콜 : 이더넷, MAC, PPP, ATM, LAN, Wifi
- 장비: 브릿지, 스위치
브릿지란?
- 네트워크 세그먼트를 연결해주는 장치
- 스위치가 나오기 전까지 브릿지가 주로 사용됐다고 함
- LAN과 LAN을 연결하거나 컴퓨터 그룹(세그먼트)를 연결해주는 기능
- 브릿지의 다섯가지 기능
- Learning : A라는 호스트가 데이터를 주면 A의 맥주소를 브릿지의 맥주소 테이블에 저장
- Flooding : 목적지 정보가 맥주소 테이블에 없다면 모든 포트로 데이터 전파
- Forwarding : 목적지 정보가 맥주소 테이블에 있다면 해당 포트로 전송, 없다면 플로딩
- Filtering : 브릿지를 건너지 못하게 막는 기능
- Aging : 맥주소 테이블 데이터를 자동으로 삭제하는 일종의 TTL
스위치란?
- 브릿지랑 비슷
- 브릿지와의 차이는 -> 스위치는 하드웨어, 브릿지는 소프트웨어 방식이기에 스위치가 속도가 더 빠르다
- 브릿지보다 포트수 많음, 포트별 속도지정이 가능
- 여러모로 브릿지의 상위호환이기에 브릿지대신 스위치 사용한다
- 스위치의 종류
- L2스위치 : 기본적인 스위치. 데이터링크 계층에서 사용, 맥주소 기반으로 패킷 전달, 가격저렴
- L3스위치 : L2스위치에 라우팅 기능이 추가됨, IP 정보를 보고 스위칭한다, 기능적으로 라우터와 똑같지만 라우터는 소프트웨어방식이기에 하드웨어 방식인 L3스위치가 더 빠르고 저렴
- L4스위치 : 4계층 프로토콜인 TCP/UDP를 사용, IP와 포트 기반으로 스위칭, L4스위치에는 로드밸런싱 기능이 있음
- L7스위치 : L4스위치와 기능,역할이 동일하나, L7스위치에서는 페이로드를 분석하여 패킷 처리. 페이로드를 분석함으로서 Dos, SYN Attack등 네트워크 공격 방어 가능. 가격 비쌈
3계층 : 네트워크 계층
- 데이터그램이 가능 경로를 설정해줌
- 데이터그램이란 네트워킹에서 데이터 전송의 단위, 그냥 데이터로 이해하면 될듯?
- 라우팅 알고리즘을 통해 최적의 경로를 선택
- 데이터를 목적지까지 안전하고 빠르게 전달하는게 중요 -> 이거를 라우팅이라고 한다
- 전송단위 : 패킷
- 프로토콜 : IP, ICMP
- 장비 : 라우터, L3스위치
라우터란?
- 네트워크에서 데이터 전송의 최적 경로를 찾아서 전송해주는 장비
- L3와 기능 비슷, 하지만 소프트웨어 방식이기에 더 비싸고 느리고 초기설정 어려움
- 라우터의 종류
- 코어라우터, 센터라우터, 엣지라우터, 브로드밴드라우터, 핫스팟라우터, ISP라우터
4계층 : 전송계층
- 발신지 - 목적지간 제어와 에러 관리
- 패킷의 전송이 유효한지 확인하고 재전송을 하는 등 신뢰성있는 통신 보장
- 오류검츨, 흐름제어, 패킷 생성, 전송, 재전송
- 단위 : 세그먼트
- 프로토콜 : TCP, UDP, ARP, RTR
- 대부분 TCP
- ACK을 통해 신뢰성있는 전송
- UDP는 비연결성, 비신뢰성임. 수신자가 잘 받든말든 일단 데이터보냄, 에러나면 어플리케이션에서 알아서 처리해야함, 하지만 빠름, 실시간 서비스에서 적절
- 장비: 게이트웨이, L4스위치
5계층 : 세션계층
- 통신장치간의 상호작용을 설정, 유지, 동기화
- 동시 송수신, 반이중, 전이중
- 네트워크상 양쪽 연결을 관리하고 연결을 지속시켜줌
- TCP/IP 세션을 만들고 없애는 역할
6계층 : 표현계층
- 송신, 수신측 사이에서 데이터 형식을 정해줌(jpg, png등)
- 7계층으로부터 받거나 주는 데이터의 인코딩, 디코딩이 이루어지는 계층
- 프로토콜 : JPG, MPEG, SMB 등
7계층 : 응용계층
- 사용자와 상호작용
- 응용 SW
- 프로토콜 : HTTP, DNS, Telnet, FTP등
참고:
https://youtu.be/8kI5OIrfZtI?si=-gZMcolC217Aht7y
https://backendcode.tistory.com/167
https://heisyoung.tistory.com/52
메모
계층형 모델 (OSI 7Layer)
- 통신 장비들끼리 호환되도록 표준을 만든것
- 데이터가 전달되기위한 과정을 계층화 (ISO, DoD)
- 7단계중 한 곳에 이상이 생기면 다른 단계의 장비나 소프트웨어를 건들지 않아도 고칠 수 있다
- 복잡도를 줄이고 모듈화를 통한 기술발전, 호환성, 상호독립성
- 이 규칙을 따라야 네트워크 장비로서 다른 장비와 상호작용 가능
계층별 PDU(Process Data Unit)
1계층 - 비트
2계층 - 프레임
3계층 - 패킷
4계층 - 세그먼트
어플리케이션층에서 만들어진 data가
tcp udp 정보를 담은 세그먼트가 되고,
ip정보가 담긴 헤더가 붙은 패킷이 되고,
패킷의 정보에 이더넷 프로토콜의 정보를 담아서 프레임이되고
이 프레임이 전기적 신호로 전달됨
인캡슐레이션
디캡슐레이션
Encapsulation / Decapsulation
- 어플리케이션에서 만들어진 데이터가 해당 디바이스에서 네트워크를 통해 전달되는 과정
- 각 계층에서 동작하는 프로토콜별로 정보(헤더)가 추가되거나 벗겨지는 과정
어플리케이션
프레젠테이션
세션
...
내려가며 헤더가 붙음 -> 인캡슐레이션
이 헤더를 하나씩 떼어가며 정보를 읽는것 -> 네트워킹
어플리케이션 - 데이터 생성
- 구글검색
트랜스포트 - 세그먼트 생성 (세그먼트 = 포트정보+데이터)
- 디포트 : http이기에 80
- 소스포트
- 데이터
네트워크 레이어 - 패킷 생성 (패킷 = 세그먼트 + ip정보)
- dip(dns를 통해서 google.com의 ip를 획득하는 과정)
- 소스ip(내 ip)
- 데이터(세그먼트)
데이터링크 레이어 - 프레임 생성 (프레임 = 이더넷헤더 + 세그먼트)
- 이더넷헤더 추가
- dMAC(나와 연결된 같은 네트워크에서 어떤놈이 이 데이터를 받을지) (넥스트 홉)
- 소스MAC(내 기기의 MAC))
- 세그먼트
넥스트홉ip를 알아내는 과정을 라우팅이라고 함
라우팅 테이블을 룩업함
d는 destination(어디로 보낼지에 대한)
dip는 dns를 통해서
dMAC은 라우팅과 ARP를 통해서
라우터는 dip를 보고 어디로 보내야할지를 결정 - 라우팅 테이블을 통해서
'네트워크' 카테고리의 다른 글
[네트워크] 유니캐스트, 멀티캐스트, 브로드캐스트, 애니캐스트 (0) | 2024.05.06 |
---|