- 링크 계층 은 전선, 광섬유, 무선 등으로 데이트를 전달하며 장치 간 신호를 주고받는 '규칙'을 정하는 계층. 네트워크 접근 계층이라고도 한다.
유선LAN(IEEE802.3)
유선랜을 이루는 이더넷은 IEEE802.3 프로토콜을 따르며 전이중화 통신을 쓴다.
- 전이중화통신 full duplex
송신로와 수신로로 나눠서 데이터를 주고받는다. - CSMA/CD Carrier Sense Multiple Access with Collision Detection (충돌 감지)
이전에는 반이중화통신 중 하나인 CSMA/CD 방식을 썼음. 데이터 송신 중 충돌이 발생하면 재전송을 하는 방식이다.
유선 LAN을 이루는 케이블
- 트위스트 페어 케이블
일반적으로 유선랜 케이블이라 하면 볼 수 있는 UTP케이블. 케이블을 연결할 수 있는 커넥터는 RJ-45커넥터 - 광섬유 케이블
100Gbps 데이터를 전송할 수 있는 장거리 및 고속통신 전용 케이블
무선LAN(IEEE802.11)
무선LAN장치는 수신과 송신에 같은 채널을 사용하기 때문에 반이중화 통신을 사용한다.
- CSMA/CA Carrier Sense Multiple Access with Collision Avoidance (충돌 회피)
무선 LAN을 이루는 주파수
주파수 대역은 2.4GHz와 5GHz 대역을 사용한다.
2.4GHz는 전자레인지, 기타 무선 등의 전파 간섭이 일어나는 경우가 많다. 5GHz는 상대적으로 깨끗한 전파 환경을 구축 가능하다.
- Preamble[7bytes]: 이더넷 프레임이 시작임을 알린다.
- SFD(Start Frame Delimiter 스타트프레임 구분문자)[1bytes]: 다음 바이트부터 MAC주소 필드가 시작됨을 알린다.
- DMAC, SMAC [각 6bytes]: 수신, 송신 MAC 주소를 말한다.
- EtherType[2bytes]: 데이터 계층 위의 계층인 IP프로토콜을 정의한다. ex) IPv4, IPv6
- Payload[46~1500bytes]: 전달받은 데이터
- CRC[4bytes]: 에러 확인 비트
- 계층 간 데이터 송수신 과정
데이터 | 어플리케이션 계층 | |||||
'세그먼트' or '데이터 그램' 화 |
TCP(L4) 헤더 | 데이터 | 전송 계층 | |||
'패킷' 화 | IP(L3) 헤더 | TCP(L4) 헤더 | 데이터 | 인터넷 계층 | ||
'프레임' 화 | 프레임 헤더 | IP(L3) 헤더 | TCP(L4) 헤더 | 데이터 | 프레임 트레일러 | 링크 계층 |
캡슐화 과정 은 위에서 아래로, 비캡슐화 과정 은 아래에서 위로 과정이 이루어진다.
PDU
네트워크의 계층간 데이터가 전달 될 때의 한 덩어리의 단위를 PDU(Protocol Data Unit)라고 한다.
PDU는 제어 관련 정보들이 포함된 '헤더', 데이터를 의미하는 '페이로드'로 구성
- 어플리케이션 계층 : 메시지
- 전송 계층 : 세그먼트(TCP), 데이터그램(UDP)
- 인터넷 계층 : 패킷
- 링크 계층 : 프레임(데이터 링크 계층), 비트(물리 계층)
PDU 중 아래 계층인 비트(물리 계층)로 송수신 하는 것이 모든 PDU 중 가장 빠르고 효율성이 높다.
그러나, 어플리케이션 계층에서는 문자열 기반으로 송수신을 하는데 그 이유는 헤더에 authorization 값 등 다른 값들을 추가로 넣기 쉽기 때문이다.
Curl 명령어로 몇몇 사이트의 헤더 값들을 확인해봤는데, 사이트마다 headers의 값이 제각각이다.
순서는 달라도 일정한 공통된 값들이 있을 거라 생각했는데, 공통점을 찾기가 어려웠다.
Curl과 Headers에 대한 추가 학습을 해야겠다.
주홍철, <면접을 위한 CS 전공지식 노트> 길벗
'개발 > 정리' 카테고리의 다른 글
[Flutter가지고놀기] Flutter가 좋은 이유! (0) | 2023.05.31 |
---|---|
React Native 개발환경 설정 (for macOS m1) (0) | 2022.12.21 |
CS 공부 - 네트워크의 기기, IP주소 (0) | 2022.09.30 |
CS 공부 - TCP/IP 4계층 모델 - 1 (0) | 2022.09.26 |
CS 공부 - 네트워크의 기초 (0) | 2022.09.25 |