728x90
반응형

ip 9

소켓 프로그래밍, Socket Programming

소켓.. 전구 소켓이 아니라 다른 소켓이다. 의미는 같지만 가리키는 것이 다르다. socket은 콘센트와 같은 것을 말하는데 연결되면 전기가 공급되듯이 네트워크에서는 수많은 bit가 흘러들어온다. 알아보자 소켓은 크게 2종류가 있다. 종류를 정하는 것은 Protocol인데 여기선 L4이다. TCP와 UDP이다. TCP는 TCP/IP 라고도 부르는데 하나로 묶여서 쓰이기 때문이다. 즉, 소켓을 구성하는데는 수많은 규약들이 정해져있다. OS의 이해도 필요하고 Protocol의 이해도 필요하고 데이터를 주고 받는 방식, 바이트를 읽는 방식 등 모든 규약을 정해야 정상적인 통신이 가능해진다. 또한 네트워크인만큼 예외상황도 많이 발생한다. 정말 힘들다. 우선 네트워크는 서버와 클라이언트로 나누어진다. 소켓도 클라..

TCP vs UDP 비교

TCP, Transmission Control Protocol UDP, User Datagram Protocol 정확히 무엇인지 알아보자. 또한 각각의 특징들을 알아보자 또한 위의 것들은 통신에서의 프로토콜이다. 여기서 통신이란 호스트 컴퓨터에 있는 프로세스 간의 통신이라고 하는 것이 더 정확하다. **IP는 호스트와 호스트 간의 통신에만 책임이 있는 것이다. TCP, UDP와는 다른 프로토콜임을 인지하자 -> 포트번호에 대해서 알면 더 쉽다. 우선 TCP부터 알아보자 OSI 참조 모델에서 전송 계층에서는 신뢰성이 높은 통신을 보증해야 한다. **신뢰성이란 데이터 손실 없이 정확하게 전달하는 것을 의미한다. 위의 그림을 설명하자면 3단계로 나눌 수 있다. 1. 클라이언트는 초기 순서 번호를 선택한 SYN..

Subnet Mask, 서브넷 마스크란?

우선 이름을 보니 우선 낯익다. 네트워크 설정을 열어보니 이런 것이 있다. 이것이 무엇일까?? Sub는 하위의 란 뜻이고 Net은 그물이라는 뜻으로 네트워크 망을 말한다. Mask는 실제로 가면과 같이 무엇인가를 숨기기 위하여 가리는 것을 의미한다. 즉, 합해서보면 네트워크를 하위 단위로 나누기 위한 무엇인가를 말하는 것 같다. 정말로 그렇다. IP 주소는 우리가 사용하지만 바로 직접 사용되지는 않는다. 서브넷 마스키을 거쳐서 변환되어 사용된다. 즉, 주어진 IP 주소를 네트워크 환경에 따라서 나누어주기 위해서 사용하는 것이다. 그렇게 나누는 이유는 1. 브로드캐스트 영역을 나누어 로드 줄이기 위함 2. IP 주소를 효율적으로 사용하기 위함 서브넷 마스크가 IP를 변환하는 과정은 논리곱 AND를 이용한다..

MAC address vs IP address, 맥 주소 IP 주소 비교하기

우리는 네트워크를 이룰 때 착각하는 것이 있다. IP만 있으면 된다고 생각한다. 물론 개발자가 아니라면 IP가 유일한 주소고 IP를 알아야만 통신이 가능하다고 까지만 알아도 된다. 하지만 우리는 개발자로서 알아야 할 의무가 있다. **MAC은 우선 Media Access Control의 약자다. 우리는 네트워크 레이어에서 IP로 통신을 한다. 하지만 IP 주소를 다시 MAC으로 바꾸는 절차(ARP, Address Resolution Protocol)을 거친다. cmd 창에서 물리적 주소 = MAC 을 확인할 수 있다. 우선 완전히 공개하진 않았지만 48bit로 이루어져있다. 하지만 표현은 16진법으로 되어있다. 그래서 12문자가 나온다. 그렇다면 왜 필요한 것인가가 중요하다. IP 주소가 유일한데..? ..

트랜스포트(Transport Layer)계층에 관한 필수 지식

트랜스포트 계층을 배웠다면 대답할 수 있는 지식에 대해서 알아보자 트랜스포트 레이어의 역할을 설명하시오 물리적인 네트워크에 관계없이 근원지 컴퓨터에서 목적지 컴퓨터 간에 신뢰할 수 있고 저렴한 데이터 전송을 하고자함. Application 이 네트워크를 사용하는 데 필요한 추상화도 제공함. TCP/IP를 배우면 트랜스포트의 역할을 진정으로 알 수 있다. 통신의 최종책임을 진다고 보면 된다. Addressing(주소 지정), Connection Establishment(연결 설정), Connection Release, Flow control and buffering Multiplexing, Crash Recovery등 많은 역할 또한 하고 있다. 그림에서 3단계 핸드셰이크가 무엇인지 설명하고 왜 필요하고 ..

IPv4와 IPv6의 차이점 무엇일까?

www.youtube.com/watch?v=ThdO9beHhpA 위 영상을 기반으로 설명한다. 영어라 알아먹기 힘들어서 내가 정리한다 ㅎ 우선 IP에 대해서 알아보아야 한다. IP란 Internet Protocol로 쉽게 말해서 약속이다. Internet을 사용할 때 지켜야만 하는 약속! 근데 우리는 보통 IP를 IP 주소라고 생각하고 있고 실제로도 그렇게 더 많이 쓴다. IP주소는 숫자로 구성되어 있으며 네트워크 상에서 장비를 구분할 수 있게 해준다. 그렇기에 장비들간에 커뮤니케이션이 일어나기 위해선 IP 주소를 가져야만 한다. 위에서 가르킨 IP 주소는 2가지로 볼 수 있다. 1. 네트워크 주소 2. 호스트 주소 그리고 주소 타입에는 2가지가 있다. IPv4, IPv6 **물론 우리는 아직 IPv4를..

Domain Name System, DNS란 무엇일까?

www.youtube.com/watch?v=mpQZVYPuDGU 위의 영상을 기반으로 설명한다. 최초 2020.11.27 업데이트 2022.09.07 우선 DNS라는 것은 (Domain Name System)이라는 것이다. 엥? 그게 뭐냐고? 뭔지 알려면 사람과 컴퓨터의 차이를 알아봐야 한다. 컴퓨터는 이름이 없다. 아니 이름이 숫자다. 사람은 숫자가 아니라 문자를 이름으로 갖는다. **사실 컴퓨터가 문자를 이름으로 갖는 것처럼 보이지만 사실 문자도 숫자로 해석해서 알아듣는다. **해석하는 과정을 name resolution이라고 한다. 알았지? ??그래서 DNS가 뭐냐고?? DNS는 이름을 숫자로 매칭시켜주는 시스템이다. 정확하게 말하면 도메인 이름을 IP 주소로 바꿔준다. **일반적으로 우리가 웹 브..

Dynamic Host Configuration Protocol, DHCP란? 동적 호스트 설정 프로토콜

www.youtube.com/watch?v=S43CFcpOZSI 위 링크를 참고하자 먼저 요약하면 DHCP는 네트워크 안의 컴퓨터에 대해서 IP 주소나 서브넷 마스크와 같은 네트워크 정보를 자동으로 설정하기 위한 프로토콜이다. **부연설명을 하자면 BOOTP는 클라이언트가 IP 주소를 요청하면 BOOTP서버에서는 클라이언트의 물리 주소에 해당하는 IP 주소를 이미 물리 주소와 IP 주소 간의 연결관계를 기록하고 있는 테이블에서 찾는다. 하지만 호스트가 다른 네트워크로 이동했을 시에는 찾는 것이 불가능하다. 때문에 DHCP라는 해법이 제안되었다. DHCP는 Dynamic Host Configuration Protocol을 뜻한다. **DHCP는 이용 가능한 IP 주소의 풀,pool을 가지는 DB를 가지고 ..

NAT란? Network Address Translation, 네트워크 주소 변환 [네트워크]

www.youtube.com/watch?v=qij5qpHcbBk 위 링크를 참고하자 NAT란 Network Address Translation 을 말한다. **실제 공식 용어는 NAPT라고 한단다. (Network Address Port Translation) PAT, Port Address Translation 라고도 쓴단다. 뭐 그렇단다. 우선 문제을 말해보자 우리는 IPv4를 쓰고있고 컴퓨터 과학자들은 32비트 즉, 42억개의 주소는 우리가 충분히 네트워크를 사용할 수 있을만큼 있다고 생각했다. 그러나 예상과는 다르게 빠르게 소비가 되었다. 그래서 과학자들은 다른 방법을 고안해냈다. 우선 IPv6이 이 있다. 하지만 우리는 IPv4의 수명을 조금 더 늘리고 싶었다. (어차피 IoT의 시대가 오는 지..

728x90
반응형