본문 바로가기

network4

한 프로세스가 여러 개의 포트와 동시연결될 수 있을까? TCP 연결을 만지작 거리다가 생긴 의문이다. 과거에 대학교에서 컴퓨터 네트워크를 배울 때, 교수님이 가르쳐주신 게 있다. 1. 트랜스포트 레이어는 ‘호스트들이 실행하는 프로세스와 프로세스를 논리적으로 연결하는 레이어’이다. 2. 네트워크 레이어가 호스트와 호스트를 연결한다면, 트랜스포트 레이어는 호스트에서 실행되는 프로세스들을 서로 연결해주는 기능을 한다. 3. 두 호스트의 프로세스가 각각 연결되고, 이 프로세스들은 다른 프로세스와 동시에 연결될 수는 없다. 이 말을 인터넷에 적용시켜보자. 인터넷은 네트워크 레이어로 IP를 사용하고, 트랜스포트 레이어에 TCP를 사용한다. 데이터 패킷이 IP(네트워크 레이어)에 의해 컴퓨터(호스트)에 전달되면, 그 패킷들을 컴퓨터 내의 프로세스에 분배하는 일은 TCP가.. 2023. 6. 9.
TLS(HTTPS)의 동작 원리와 과정 이번 글에선 HTTPS가 무엇인지, HTTPS를 사용하는 이유는 무엇인지, 그리고 HTTPS의 전체적인 동작에 대해서 알아보려고 한다. 웹 보안을 이해하는 데 있어 중요한 개념이기 때문에 꽤 세세하게 다뤘다. 참고사항! * 이 글을 제대로 이해하기 위해선 네트워크 레이어에 대한 약간의 배경지식이 필요합니다. * 비전공자와 전공자 둘 다 도움이 될 수 있는 지식을 전달하고자 했습니다. * 키 생성 알고리즘에 대해 자세히 설명하지 않습니다. HTTPS는 HyperText Transfer Protocol Secure의 줄임말이다. 말에서 알 수 있듯 HTTP의 보안을 강화한 버전이다. HTTPS는 처음 발표된 것이 1994년인데, 약 30년이 지난 지금까지도 활용되고 있는 프로토콜이다. 일단 HTTPS를 설명.. 2023. 4. 24.
HTTP에서 GET과 POST의 차이점 Q: HTTP에서 GET 메소드와 POST 메소드의 차이점이 무엇인가요? 둘의 컨셉은 정말 간단하다. 하나는 데이터를 가져오기 위해서, 하나는 보내기 위해서 사용한다. 기본기 테스트에 가깝다. RESTful API를 이용할 때 이 둘을 모르면 문제가 있다. 그렇기 때문에 실제 대답을 할 땐 디테일한 차이점을 언급해주는 것이 좋을 것 같다. GET 메소드 GET 메소드는 데이터를 가져오기 위해 사용한다. URL을 통해 데이터를 전송하며, 데이터는 URL에 쿼리 스트링 형태로 전달한다. 보안성이 떨어지고 전송 데이터에 길이 제한이 있다. 데이터들은 브라우저에서 캐싱이 가능하기 때문에, 동일한 요청이 반복될 경우 캐시를 이용하여 빠르게 처리할 수 있다. POST 메소드 POST 메소드는 데이터를 전송하기 위해.. 2023. 4. 5.
브라우저에 google.com을 쓰면 일어나는 일 Q: 브라우저 주소창에 google.com을 치면 무슨 일이 일어날까요? 길게 말하면 밑도 끝도 없이 말할 수 있는 부분이다. 주 목적은 컴퓨터 네트워크 전반에 대한 이해를 평가하기 위함인 것 같다. 추가적인 질문으로 ‘웹 브라우저에서 HTML문서가 렌더링 되는 과정’에 대해 물어보기 좋아보인다. 전략: OSI 5 layer를 중심으로 설명하기. 클라이언트의 입장 뿐만 아니라 서버의 입장에서도 설명해보기. 웹 브라우저가 보내는 데이터는 Application layer, Transport layer, Network layer, Link layer, physical layer를 중심으로 차례대로 설명할 수 있다. 이 때 Link layer랑 physical layer에 대한 부분은 구체적으로 설명하려들면 뇌.. 2023. 4. 5.