통신이 일어나는 과정을 한눈에 알아보기 쉽고, 유지보수도 상대적으로 쉬워지게 되었습니다!
물리계층에서는 신호를 전기적, 물리적으로 전송되는 역할을 하는 부분
을 물리계층이라고 부르고 해당 계층에서 사용되는 기기는 케이블, 허브 등이 있습니다.
사실 자세히 들여다 보면 우리가 보내는 데이터들은 모두 0과 1로 이루어져있는 비트열입니다. 이 데이터를 전기적 신호로 변환
하여 보내는게 물리 계층이 하는 역할이죠.
이때 사용되는 기기가 랜카드
입니다!
우연히 유튜브를 보다가 찾은 영상이 있는데 이 영상을 보면 좀 더 도움이 될 것 같아요!
광섬유 케이블, 작동하는 방법은?
데이터 링크 계층은 노드 대 노드
즉, 내가 보낸 데이터가 거쳐가는 많은 곳 중에서 바로 앞에 있는 곳과 연결하는 역할을 하는 계층입니다.
데이트 링크계층에서는 물리 계층에서 들어온 데이터를 3계층인 네트워크 계층으로 보낼 때 필요없는 데이터를 빼거나
물리 계층을 통해서 다음 노드로 보낼때 필요한 정보를 붙이는 역할을 합니다.
이렇게 만들어진 데이터 묶음을 프레임(Frame)
이라고 하죠.
간단하게 그림으로 보도록 합시다!
더 많은 과정이 있겠지만 우선 이런 식으로 우리가 데이터를 목적지로 보낸다고 해봅시다.
그러면 데이터 링크 계층은 내 컴퓨터에서 라우터까지의 길을 데이터와 같이 묶어주고
그 다음은 라우터와 라우터, 라우터와 목적지의 순서대로 데이터 링크 계층이 사용됩니다.
이 길은 MAC address(물리적주소)
를 통해서 알 수 있기에 데이터를 보낼 때 다음 노드(네트워크 기기)의 MAC 주소를 데이터와 묶어주고, 받을때는 필요없어진 MAC 주소를 제외하고 3계층으로 보내게 됩니다.
저는 이 강의를 보고 많이 이해가 된 것 같아요.
4강 네트워크 9장 데이터링크층 개요
데이터 링크 계층에서는 물리계층에서 하지 않았던 오류에 대한 제어를 하게 됩니다.
이전 2 계층에서 다음 노드의 MAC주소를 통해서 데이터를 보낸다고 했는데 그럼 그 MAC 주소는 어디서 받는 걸 까??
바로 네트워크 계층에서 목적지까지 최적의 길을 찾은 뒤 2계층에서 프레임을 짜게됩니다.
한 마디로 네트워크 계층은 목적지까지의 최적의 길을 찾아주는 계층입니다!
이렇게 최적의 길을 찾는 과정을 라우팅이라고 하고, 3계층에서 만들어진 데이터 묶음은 패킷(Packet)
이라고 부르게 됩니다.
네트워크 계층에서 제공되는 서비스는 연결형 서비스
와 비연결형 서비스
로 나뉘어 지는데 연결형 서비스는 데이터의 전송 경로를 미리 정해서 최적의 경로로 보내는 방법
을 말하는 것이고 대표적으로 TCP가 있습니다.
비연결형 서비스는 전송 경로를 정하지 않고 패킷단위로 데이터를 전송하는 것을 말합니다.
비연결형 서비스는 각 패킷이 도착하는 순서가 일정하지 않고, 패킷이 분실될 가능성도 있기에 데이터의 신뢰성을 보장하지 않습니다.
대표적인 예로는 UDP가 있고, 이러한 비연결형 서비스는 통신속도가 중요한 실시간서비스 같은 부분에서 사용됩니다.
어떤 프로세스로 들어가야하는지 알아야 하고
구분을 짓는 방법은 포트번호를 이용합니다.흐름제어, 오류제어
이외에도 다른 계층에서 요구한 데이터에 따라서 분할, 병합
을 통해 다른 계층과 통신하게 됩니다.세그먼트(Segment)
라고 합니다.세션 계층에서는 크게 말하면 동기화 작업과 송, 수신측의 연결 상태를 담당
하는 계층입니다.
만약 동기화 없이 데이터 덩어리를 통째로 보내게 된다면 오류가 났을 때 모든 데이터를 다시 보내야하는 상황이 발생하기 때문에 데이터를 쪼개고 각각 쪼갠 데이터 사이에 동기점을 설정해 오류가 났을 시 해당 동기점을 이용해서 복구해서 좀 더 효율적으로 데이터를 관리하는 겁니다.
세션계층에서 사용되는 대화방식은 반이중 방식, 전이중 방식
등으로 어떤 데이터 전송방식을 이용할건지 결정하게 된다고 합니다.
각 계층마다 헤더를 하나씩 붙여나가면서 데이터를 만들게 됩니다.
데이터 링크 계층에서는 DT(Data-Link Trailer) 혹은 FCS (Frame Check Sequence)라고 불리는 녀석을 붙이는데 프레임의 끝 부분에 수신측의 에러검출을 돕기 위해 삽입하는 필드라고 합니다.
참고링크