목록Book (34)
in.add()
포트 번호란? 전송 계층의 두 번째 역할 : 전송된 데이터의 목적지가 어떤 애플리케이션인지 구분하는 것. 예를 들어 웹 브라우저와 메일 프로그램을 사용하고 있다고 할 때. 목적지가 어떤 애플리케이션인지 구분하지 못하면 사용자가 홈페이지를 보기 위해 웹 브라우저를 사용하는 데도 메일 프로그램으로 데이터가 전송될 수 있다. 즉, 어느 애플리케이션의 데이터인지 알 수 없기 때문에 일어나는 일이다. 그래서 그렇게 되지 않도록 TCP 헤더의 출발지 포트 번호(source port unmber)와 목적지 포트 번호(destination port number)가 필요하다. 포트 번호는 0~65535번을 사용할 수 있다. 0~1023번 포트는 주요 프로토콜이 사용하도록 예약되어 있다. 이러한 포트를 잘 알려진 포트(w..
일련번호와 확인 응답 번호란? 3-way 핸드셰이크가 끝나고 실제 데이터를 보내거나 상대방이 받을 때는 TCP 헤더의 일련번호(sequence number)와 확인 응답 번호(acknowledgement number)를 사용한다. TCP는 데이터를 분할해서 보내는데 일련번호는 송신 측에서 수신 측에 '이 데이터가 몇 번째 데이터인지' 알려 주는 역할을 한다. 전송된 데이터에 일련번호를 부여하면 수신자는 원래 데이터의 몇 번째 데이터를 받았는지 알 수 있다. 확인 응답 번호는 수신 측이 몇 번째 데이터를 수신했는데 송신 측에 알려 주는 역할을 한다. 그래서 이 번호는 다음 번호의 데이터를 요천하는데도 사용된다. 예를 들어 10번 데이터를 수신하면 22번 데이터를 송신 측에 요청하는 것이다. 이것을 확인 응..
TCP란? TCP로 전송할 때 붙이는 헤더를 TCP 헤더라고 하고, 이 TCP 헤더가 붙은 데이터를 세그먼트(Segment)라고 한다. 연결형 통신은 데이터를 전송하기 전에 연결(connection)이라는 가상의 독점 통신로를 확보해야 한다. 이 연결을 확립한 후에 데이터를 전송할 수 있다. TCP 헤더의 코드 비트는 107번째 비트부터 112번째 비트까지의 6비트로 연결의 제어 정보가 기록되는 곳이다. 코드 비트는 각 비트 별로 역할이 있다. 초기값은 0이고 비트가 활성화되면 1이 된다. 연결을 확립하려면 이 중 SYN(연결 요청)과 ACK(확인 응답)가 필요하다. 3-way 핸드셰이크란? 연결(connection)은 SYN과 ACK를 사용하여 확립할 수 있다. 신뢰할 수 있는 연결을 하려면 데이터를 ..
전송 계층의 두 가지 역할 물리 계층, 데이터 링크 계층, 네트워크 계층의 3 계층이 있으면 목적지에 데이터를 보낼 수 있다. 하지만 데이터가 손상되거나 유실되더라도 이들 계층에서는 아무것도 해주지 않는다. 전송 계층은 목적지에 신뢰할 수 있는 데이터를 전달하기 위해 필요하다. 첫 번째 역할 : 우선 전송계층에는 오류를 점검하는 기능이 있다. 오류가 발생하면 데이터를 재전송하도록 요청한다. 네트워크 계층은 목적지까지 데이터를 전달하고, 전송 계층에서는 데이터가 제대로 도착했는지 확인하는 것. 두 번째 역할 : 전송된 데이터의 목적지가 어떤 애플리케이션인지 식별하는 기능. 컴퓨터가 데이터를 받아도 어떤 애플리케이션에 전달해야 하는지 모르면 곤란하기 때문에 해당 데이터가 어떤 애플리케이션에서 사용하는 데이터..
라우터란? 서로 다른 네트워크와 통신하기 위해서는 라우터가 필요하다. 라우터는 네트워크를 분리할 수 있다. 한편 스위치(레이어 2 스위치)만 있는 네트워크에서는 모든 컴퓨터와 스위치가 동일한 네트워크에 속하게 된다. 네트워크를 분할한 다음 다른 네트워크로 접속하려면 라우터의 IP 주소를 설정해야 한다. 이것은 네트워크의 출입구를 설정하는 것으로 기본 게이트웨이(default gateway)라고 한다. 라우터의 IP를 지정하는 것으로 네트워크의 출입구를 지정하고 일단 라우터로 데이터를 전송한다. 예를 들어 192.168.1.0/24 네트워크에 속한 컴퓨터가 데이터를 전송하고자 한다면 192.168.1.1로 설정한다. 기본 게이트웨이가 설정되었지만 아직 다른 네트워크로 데이터를 보낼 수 없다. 추가로 라우팅..
서브넷이란? 일반적으로 사용되는 IP 주소는 A, B, C 클래스로 나누어져 있다. 예를 들어 A 클래스 네트워크는 호스트 ID가 24비트여서 IP 주소를 1677만 7214개 사용할 수 있다. 이렇게 많은 수의 컴퓨터가 브로드캐스트 패킷을 전송하면 모든 컴퓨터에 패킷이 전송되고 네트워크가 혼잡해진다. 대규모 네트워크를 작은 네트워크로 분할하며 브로드캐스트로 전송되는 패킷의 범위를 좁힐 수 있다. 이렇게 하면 더 많은 네트워크를 만들 수 있어서 IP 주소를 더 효과적으로 활용할 수 있다. 이처럼 네트워크를 분할하는 것을 서브넷팅(subneting)이라고 하고, 분할된 네트워크를 서브넷(subnet)이라고 한다. 서브넷팅되면 구성이 '네트워크 ID + 호스트 ID'에서 '네트워크 ID + 서브넷 ID + ..
네트워크 주소와 브로드캐스트 주소란? IP 주소에는 네트워크 주소와 브로드캐스트 주소가 있다. 이 두 주소는 특별한 주소로 컴퓨터나 라우터가 자신의 IP로 사용하면 안 된다. 예를 들어, C클래스 사설 IP 주소에서 네트워크 주소는 호스트 ID가 10진수로 0이고, 브로드캐스트 주소는 호스트 ID가 10진수로 255(2진수로는 11111111)이다. 내트워크 주소는 전체 네트워크에서 작은 네트워크를 식별하는 데 사용되고, 호스트 ID가 10 진수로 0이면 그 네트워크 전체를 대표하는 주소가 된다. 192.168.1.1~192.168.1.6의 IP 주소를 가진 컴퓨터는 192.168.1.0(네트워크 주소)의 네트워크에 있다고 할 수 있다. 브로드캐스트 주소는 네트워크에 있는 컴퓨터나 장비 모두에게 한 번에..