본문 바로가기

리눅스 네트워크

9장 네트워킹 - 2 통신 프로토콜은 네트워킹-1의 포스팅에서와 같이 계층 구조로 이루어져 있고 이는 계층 구조에서 그 흐름이 다양하게 분기될 수 있음을 의미합니다. 리눅스는 이를 지원하기 위해 층과 층 사이에서 제어가 전달될 때 자료구조를 이용한 간접 호출 방법으로 통신 프로토콜을 구현하였습니다. 즉 상위 측이 하위 층을 직접 호출하는 것이 아닌 하위 층이 그 시작 주소를 특정 자료구조에 등록함으로 상위 층에선 자료구조에 등록된 함수만을 간접 호출합니다. 리눅스에서 통신 프로토콜을 나타내는 대표적인 자료구조로는 아래와 같은 것들이 있고 그 위치 또한 리눅스 3.10버전에서 직접 찾아보았습니다. 계층 자료구조 이름 위치 위의 자료구조들은 아래의 그림을 거쳐서 이용됩니다. socket 자료구조는 중복입니다. 위쪽은 socket.. 더보기
9장 네트워킹 - 1 컴퓨터는 통신 프로토콜이라는 하나의 약속을 정해 서로 통신을 하게 됩니다. 네트워크에선 사람들의 이름처럼 구별할 수 있는 고유의 명칭이 필요합니다. 이를 NIC(Network Interface Card)마다 지정되어 있는 IP주소를 통해 표현합니다. 한 컴퓨터에서 다양한 사용자 프로그램들이 한 개의 NIC를 통해 동시에 통신하려는 경우엔 각각의 사용자 태스크를 구분하기 위해 고유의 번호가 필요해집니다. 이를 포트(port) 번호라고 합니다. 통신을 하기 위한 양측은 서로 IP주소와 포트 번호를 알고 있어야 하고 미리 정해진 약속, 즉 프로토콜을 지켜야만이 통신이 가능해집니다. 프로토콜은 계층 구조로 이루어져 있습니다. OSI 7 계층이라고 1학년 때 컴퓨터 개론들을 때, 정보처리 산업기사 공부할 때 들었.. 더보기