LLM

[4]컴퓨터통신/HTML

낑낑이 2025. 8. 7. 11:32

IP와 Port의 차이는?

IP는 보통 컴퓨터의 주소 (외부에서 접속할때 사용하는것)

Port는 그 컴퓨터안에서 어떤 프로그램을 실행시키는지 알려주는것이다(내부에서 어떤걸 이용할지 사용하는 것)

(ex:80(웹,http), 443(https), 3306(MySQL), 8000(FastAPI 개발용))

예를들어서 IP는 건물의 주소이고, Port는 건물내부에 있는 방의 이름에 해당된다

Process는 여러개의 thread를 가지고 있고, core개수가 thread 개수에 해당한다. 

core개수가 많다면 동시에 여러개의 포트번호를 할당하여, 동시에 일을 처리할 수 있게된다.

Putty창을 보게되면, SSH라는것이 있다. 거기서 IP와 PORT번호가 있는데, 이것은 "putty야 해당 컴퓨터 어느 포트로 접속해서 Terminal로 나한테 제공해줘"와 같은 것이다.

 

근데 보통주소를 보면 https://www.google.com이런식으로 주소가 이루어져있는데 컴퓨터는 어떻게 접속하게되는걸까?

여기서 사용되는게 DNS(Domain Name System)으로 흔히사람들이 사용되는 주소를 IP로 바꿔주는것이다

http://www.google.com -> 172.217.174.110 이런방식으로!!


                                           

        인터프리터          컴파일러
실행 방식 한 줄씩 해석해서 즉시 실행 전체 코드를 한 번에 번역 후 실행
예시 언어 Python, JavaScript, Ruby C, C++, Java(중간 단계 포함)
장점 실행 빠름 (테스트용) 실행 속도 빠름 (최종 프로그램)
단점 실행 속도 느릴 수 있음 컴파일 시간 오래 걸림

 

그래서 컴파일러가 동작속도가 더 빠른것이다.

Python과 C를비교해도 Python이 문법이간단하고 비교적 친숙하지만,C 의 동작속도를 따라올 수 없다.

 

하지만 JS와 Python의 동작속도를 향상시키기 위해 계산이되는 부분은 JIT 컴파일을 사용해 메모리/속도를 관리하게 된다


 

 

 

  • L1~L2: 같은 네트워크 안에서 신호를 전달
  • L3: 인터넷을 통해 외부로 나갈 때 필요
  • L4: 포트를 통해 요청을 구분 (웹=80/443, 메일=25 등)
  • L5~L7: 네이버 로그인, 암호화 통신, URL 분석 등 고급 기능

 

  • 브라우저에 www.naver.com 입력 (L7)
  • SSL로 암호화된 HTTPS 통신 (L6)
  • 네이버 로그인 세션 유지 (L5)
  • TCP 포트 443 사용, 3-way handshake 수행 (L4)
  • DNS 통해 IP 받아서 라우터에 전달 (L3)
  • 스위치가 MAC 주소 기준으로 전달 (L2)
  • 와이파이나 랜선을 통해 실제 신호 전송 (L1)
   IP 주소 MAC 주소
목적 논리 주소 (변경 가능) 물리 주소 (고정됨)
역할 네트워크 간 라우팅 같은 네트워크 내 전송
변경 여부 DHCP로 바뀔 수 있음 대부분 고정 (변경하려면 수동 설정)
예시 192.168.0.5 3C:52:82:7A:10:3E

 

 

🧠 큰 흐름:

"www.example.com 입력하면, 어떻게 그 웹사이트가 내 눈앞에 딱 뜨는가?"


1️⃣ 사용자 → 브라우저:

🔤 URL 입력 (www.example.com)

  • 사용자가 브라우저 주소창에 주소 입력
  • 예시: 너가 https://naver.com을 친다고 생각하면 됨

2️⃣ 브라우저 → DNS 서버:

🌐 DNS 요청 (www.example.com)

  • 브라우저는 "이 주소가 실제로 어디 서버(IP 주소)냐?" 하고 DNS 서버에 물어봄
  • 예시: www.example.com → 93.184.216.34

3️⃣ DNS 서버 → 브라우저:

📦 IP 주소 응답 (93.184.216.34)

  • DNS 서버는 IP 주소를 찾아서 브라우저에 알려줌

4️⃣ 브라우저 → 웹서버:

📞 TCP 연결 요청 (3-way handshake 시작)

  • 브라우저가 웹서버에 "나랑 통신할래?" 하고 연결 시도함
  • (TCP 프로토콜 기반이라 handshake 필요)

5️⃣ 웹서버 → 브라우저:

 TCP 연결 수립 승인 (3-way handshake 완료)

  • 서버가 "좋아, 연결하자"라고 응답
  • 연결이 확실히 열렸음

6️⃣ 브라우저 → 웹서버:

📨 HTTP 요청 전송 (GET / HTTP/1.1)

  • 브라우저가 웹서버에 웹페이지 요청
  • 예: "나에게 /index.html 좀 줘!"

7️⃣ 웹서버 → 브라우저:

📨 HTTP 응답 (HTML, CSS, JS 등)

  • 서버가 브라우저에게 요청된 자료를 보냄
  • HTML 페이지, 스타일(CSS), 자바스크립트(JS) 등

8️⃣ 브라우저 내부:

🧱 HTML/CSS/JS 렌더링

  • 받은 HTML 등을 브라우저가 화면에 표시 가능하게 그림을 그려줌

9️⃣ 사용자에게 표시:

🖥️ 웹 페이지 표시

  • 이제 눈앞에 네이버든 구글이든 화면에 짠! 하고 나타나는 거야

 

 

CMD에 ipconfig로 조사한 IP와 https://whatismyipaddress.com/ 해당 사이트에서 얻은 IP정보는 다르다.

그 이유는 외부서와 통신할때 공유기를 사용하는경우 공유기가 외부IP로변환하여 파싱하게된다

 

'LLM' 카테고리의 다른 글

[6]CSS  (3) 2025.08.11
[5]HTML  (3) 2025.08.08
[3]FAST API  (5) 2025.08.07
[2][Docker]Docker Container  (5) 2025.08.04
[1]Prompt Engeenering Code Review 1강  (2) 2025.07.29