(1) 주고받는 정보는 비트로 표현된다(데이터) (2) 데이터를 주고받는 데이터 통신을 하기 위해서는 기기와 프로토콜이 필요하다. (3) 프로토콜이란 데이터 통신상에서의 규칙이다.
데이터 통신 방식에는 크게 '회선 교환 방식'과 '패킷 교환 방식' 두 가지가 있다.교환기를 사용해서 파이프를 교체해가는 방식.전화선을 '회선'이라 부르기에 '회선 교환'이라함.교환기가 파이프를 교체해서 상대와 접속하는 동안에는 다른 곳으로 전화를 걸 수도 받을 수도
파이프를 직접 연결하는 것 => 회선 교환연결되어 있는 파이프에 분할한 패킷을 보내는 것 => 패킷 교환 패킷 교환기는 실제 네트워크에선 라우터(Router)라는 기기가 패킷 교환기 역할을 한다. 패킷 교환기인 라우터도 인터페이스를 갖는다. 라우터에 의한 패킷 교환이
멀티액세스 네트워크와 포인트 투 포인트 네트워크는 네트워크를 구조 면에서 분류한 것이다. 반면 네트워크의 규모나 범위로 네트워크를 분류하는 것이 있는데, 먼저 LAN(Local Area Network)가 있다.구내에 설치된 네트워크라 표현할 수도 있다. LAN은 기본적
회선 교환과 패킷 교환 => '데이터 통신'멀티액세스 네트워크와 포인트 투 포인트 네트워크 => '구조 면에서의 네트워크 분류'LAN과 WAN => '규모와 범위 면에서의 네트워크 분류'데이터를 송수신하기 위한 규칙 => 프로토콜OSI 참조 모델은 데이터 통신의 단계
데이터 통신도 편지 배달-우표와 택배-송장과 마찬가지로, 운반하기 위해서는 운반하고 싶은 것(데이터) 이외에 '다른 것이 필요하다. 패킷 교환 방식에서 각각의 패킷에 수신처를 붙이는 데, 이 외에도 각각의 프로토콜에서 필요한 정보를 덧붙여가야한다. 데이터 말고도 주소
OSI 참조 모델이라는 '단계와 순서의 설계도'에 따라 7개의 계층을 순서대로 실시해서 데이터 통신이 실행되는 것이다. 7개의 계층을 수행함으로써 데이터는 캡슐화되어 데이터 통신이 되는 것이다. 데이터 통신에 필요한 프로토콜은 한 개가 아니라 복수의 프로토콜로 이루어진
TCP/IP 프로토콜군은 IETF라는 단체에서 제정하였다.여기서 제정하는 문서는 RFC라고 불리는데 이게 규격이 되는 것이다.IERF의 RFC에 의해 정해져 있는 것이 TCP/IP 프로토콜군이고 이것들을 TCP/IP 모델이 베이스가 된다. OSI 참조 모델이라는 '단계
하나의 머신 안에서든, 네트워크를 넘어서든, 다루는 것은 결국 스트림일 뿐이다. 스트림이라면 read()나 write()를 통해 데이터를 읽고 쓸 수 있으므로 결국 어떻게 스트림을 얻느냐의 차이만 있을 뿐이다.이전에는 주로 open() 시스템 콜을 사용하여 스트림을 얻
네트워크상의 호스트는 IP 주소로 식별된다. 그러나 IP 주소는 수치에 불과하므로, 사람이 다루기 어렵다. 그래서 보통은 IP 주소 대신에 호스트명(Host name)을 사용한다. ex) naver.com / google.com인터넷 초기 시절에 사용된 것이 /etc/
소켓이란?
구체적인 네트워크 통신을 위한 API. 앞서 이야기한 대로 신경 쓸 부분은 open()에 해당하는 부분.리눅스에서는 네트워크 통신을 위해 소켓(socket)이란 것을 사용한다. 소켓이란 전구나 콘센트처럼 무언가를 연결하는 접점이라는 뜻으로 사용된다. 리눅스에서 소켓은
1계층의 역할은 통신 매체에 연결되어 있는 기기에 신호를 전달하는 것이다.1계층의 역할에 의해 상대에게 데이터가 전달된다.통신 매체에는 유선과 무선이 있고, 유선에는 동선 UDP와 광파이버가 있다. source: https://m.blog.naver.com/P
2계층은 신호가 도달하는 범위(=세그먼트)에서의 데이터의 송수신을 생각한다.세그먼트를 넘는다는 것은 패킷 교환기인 라우터를 통해 이루어진다.2계층에서는 WAN과 LAN의 규칙이 다르다. LAN에서는 '이더넷'이 사실표준이다. 1대1인 유니캐스트, 1대 전체인 브로드캐스
3계층의 역할어드레싱(IP 주소)라우팅(Routing)좁은 의미의 네트워크는 라우터로 나뉘어진 컴퓨터 그룹을 말한다.네트워크 간에서 데이터 통신을 하는 것을 인터넷 작업이라 한다.3계층에서는 인터넷 작업을 수행한다. 위치정보를 가진 주소가 논리 주소이다.수신처까지의 경
IP 주소 같은 논리 주소의 특징으로는 '계층형'이 있다. 계층형 주소란 "서울시 / 금천구 / 가산디지털 2로 / 123"과 같이 계층적으로 나눌 수 있다는 것이다. MAC 주소는 IEEE가 붙인 벤더코드와 벤더가 붙인 할당코드로 이루어져 있기에 사용하는 쪽에서는 변
IP 주소는 '최종 수신처'. MAC 주소는 '다음 수신처'를 결정.라우팅은 다음 수신처를 지정하기 위해 수행하는 홉-바이-홉 방식.라우터가 없으면 다른 네트워크(==세그먼트)에 데이터그램을 보낼 수 없다. 컴퓨터에 설정되어 있는 라우터는 디폴트 게이트웨이라고 부른다.
에러 메시지 등을 전송하는 프로토콜이 ICMP이다.ICMP에서는 IP 헤더 + ICMP 메시지를 송신한다.ICMP에는 Query와 Error 두 종류의 메시지가 있다.타입3의 ICMP는 수신처에 도달하지 못했다는 것을 통지한다. 3계층의 프로토콜에서는 당연히 IP가 가
4계층은 신뢰성이 높은 전송을 수행한다.확인응답, 흐름제어를 수행하고 신뢰성이 높은 데이터 전송을 실시한다.어느 애플리케이션에 도달할 지를 판별하기 위해 포트 번호를 사용한다.4계층은 TCP와 UDP 두 가지 프로토콜이 있으며, 둘 중 한 개를 사용하여 데이터 전송을
확인응답을 보낼 때는 확인응답 번호에 \*\*다음에 수신 받을(예정의) 데이터 번호를 넣는다.전송 에러가 발생했을 때에는 지금 보낸 것과 같은 데이터를 보낸다.TCP는 윈도우 제어라는 구조로 버퍼 플로우를 방지한다.상대방의 버퍼사이즈=윈도우사이즈를 확인하면서 송수신을
포트 번호로 어느 애플리케이션의 데이터인지를 식별한다.포트와 애플리케이션을 접속하는 기능을 소켓이라 한다.자주 사용되는 서비스는 웰 노운 포트를 사용한다.송신처는 49152번 이후의 중복되지 않는 번호를 자유롭게 사용한다. 포트 번호라는 것을 사요앻서 각각의 데이터가
TCP는 신뢰성 대신에 전송 효율을 희생한다.UDP는 아무런 제어도 하지 않고, 커넥션도 설정하지 않는다.UDP를 사용하는 애플리케이션에는 고속성이나 실시간 송수신이 필요한 것. 브로드캐스트가 필요한 것 등이 있다. TCP의 단점은 그 '정확', '확실'이 독이 될 수
OSI 참조 모델의 5~7계층은 TCP/IP 모델에서는 한 개의 계층으로 취급되고 있다. 응용 계층이라고 하는데 대표적인 프로토콜로는 HTTP와 FTP와 같은 프로토콜이 있다. 애플리케이션 간의 의논의 관리가 세션 계층의 역할.예를 들어 FTP는 2개의 커넥션을 사용해
보통 IP 주소는 ICANN이 관리한다. 이는 IP를 유일하게 관리하도록 하기 위해서이다. 이러한 IP 주소를 글로벌 IP 주소라 한다. 반면 IP 주소에는 인터넷에 연결하지 않는다는 조건으로 자유롭게 사용할 수 있는 주소도 있다. 이를 사설 IP 주소라 한다. ICA