이 글은 아래의 블로그를 통해서 가져온 글입니다.
블로그를 참고하면서 공부해나가는 방식이 재미있습니다.
데이터 전송 처리 방식
data packet에 각 층을 지날 때마다 파일헤더를 추가함으로써 전달된다.(캡슐화, 디캡슐화)
L7(Application Layer)에서 만든 메시지를 전송계층(L4 레이어)에서 패킷으로 쪼갠다.
L2(Datalink-Layer)에서는 패킷을 바이너리 데이터로 바꾼다.
L1(Physical-Layer)에서는 바이너리데이터를 아날로그 신호(진폭과 파장 등)으로 바꾸어서 회선망으로 보낸다.
Datalink-layer(데이터 링크 계층 - L2)은 인접한 두 장치간, 두 노드간의 시스템간의 전송로상에서 발생하는 오류를 검출한다. 물리계층을 통해서 전송되는 bit들을 제대로 전송되었는지 체크하는 아날로그적 검출 기능을 하고 손실되었으면 재 전송 요청을 한다.
Datalink-layer는 실제로 장치가 어떤 데이터가 전송되는지 알고 검사하는 게 아니라 bit가 제대로 전송되었는지만 보는 역할을 한다.
Transport-layer(전송계층-L4)은 종단 시스템간(end-to-end)의 신뢰성 있는 데이터 전송을 담당한다. 즉, 송신측이 보낸 데이터를 원래의 내용 그대로 수신측이 수신하는 것을 보장하는 역할을 수행한다. 데이터 송신을 위해서 데이터를 패킷 단위로 쪼개서 (네트워크 계층 or 세션 계층)전송한다.
Transport-layer(L4)에서는 이 패킷 하나하나가 잘 도착했는지 확인하고, 전송되지 않은 패킷이 생기면, 재요청을 요구한다.(디지털적에러검출) 패킷에러체크를 하며 전송되어온 패킷을 합쳐 원래의 메시지로 복원하게 된다.
두 에러검출(datalink, transfer)계층에서 마지막으로 에러검사를 하는 계층이 Tranport-layer이다.
L2(Datalink-Layer)에서는 패킷의 2진 데이터를 확인 가능해서 패리티비트 체크(규칙상 잘못 전소오딘 것 체크)가 가능하다고 한다.
L4에서는 메시지를 패킷으로 쪼개거나 패킷들을 메시지로 합치는 역할을 하기 때문에 원본 메시지를 확인할 수 있다. 패킷의 일부가 도착안한 것을 확인할 수 있다. 완전한 데이터를 알기 때문에 패킷이 불안정하다는 것도 알 수 있다. 이 경우 sender에게 재전송(re-request)를 요구한다.
'운영체제 > 리눅스' 카테고리의 다른 글
[리눅스] 환경변수 경로 설정. (0) | 2021.03.16 |
---|---|
리눅스 특정 포트 프로세스 죽이기 (0) | 2021.02.08 |
macOS 특정 포트 찾아서 port kill 죽이기 (0) | 2020.12.29 |
유용한 명령어 (0) | 2019.07.01 |
[Ubuntu]PORT FORWARDING (0) | 2019.05.19 |
댓글