网络编程(1)TCP/IP 、UDP协议介绍

1、计算机网络就是把各个计算机联系到一起,让我网络中的计算机可以相互通信。网络编程就是如何在程序中实现两台计算机的通信。网络通信就是两个进程之间在通信。

2、TCP/IP简介

为了把全世界的所有不同类型的计算机都连接起来,就必须规定一套全球通用的协议,为了实现互联网这个目标,互联网协议簇(Internet Protocol Suite)就是通用协议标准。

因为互联网协议包含了上百种协议标准,但是最重要的两个协议是TCP和IP协议,所以,大家把互联网的协议简称TCP/IP协议。

通信的时候,双方必须知道对方的标识,好比发邮件必须知道对方的邮件地址。互联网上每个计算机的唯一标识就是IP地址,类似123.123.123.123。如果一台计算机同时接入到两个或更多的网络,比如路由器,它就会有两个或多个IP地址,所以,IP地址对应的实际上是计算机的网络接口,通常是网卡。

(1)、IP协议:按块发送,途径多个路由,但不能保证到达,也不能保证顺序到达。负责把数据从一台计算机通过网络发送到另一台计算机,数据被分割成一小块一小块,然后通过IP包发送出去。多条线路时,通常中间还有路由器。

(2)、TCP协议:建立在IP协议智商的。TCP负责在两台计算机之间建立可靠连接,保证数据包按顺序到达。TCP协议会痛过握手建立连接,然后对每个IP包编号,确保对方按顺序收到,如果丢包,就自动重发。

许许多多的协议都是建立在TCP协议基础之上的,比如用于浏览器的HTTP协议和发送邮件的SMTP协议等

一个IP包出了包含要传输的数据之外,还包含IP地址和目标地址,源端口和目标端口。

端口的作用,当一个IP包来了之后,交给哪个跑着的网络程序就需要哪个端口来区分。每个网络程序都向操作系统申请唯一的端口号,这样两个进程在两台计算机之间建立网络连接就需要各自的IP地址和各自的端口号

TCP/IP协议
(1)建构比较简单,只有四层
(2)应用层(HTTP,FTP,DNS)
     传输层(TCP,UDP)
     网络层(IP、ICMP、IGMP)
     链路层(驱动程序、接口)
     网络层是TCP/IP协议的核心
 
 IP地址和端口号
 (1)每台机子都有标识号,每台机子都会分配一个
 IP地址,如果没有分配就不能上网。用的比较广泛的是
 使用的IPv4,四段数字,第一位最255,用一个字节存储。
 (2)随着网络规模的增加,IP地址资源面临枯竭。出现了IPv6
 (3)特殊IP:127.0.0.1表示你自己,谁用代表谁也称为
 本机回环地址
 (4)通过IP地址找到了计算机,但是不知道是怎么通信
 想要传输数据必须得知道端口号,不属于物理段端口(USB)
 属于逻辑端口,由操作系统进行分配。
 源计算机====》目标计算机===》不同端口号的应用程序
 范围是0-65535  1024之前的端口号不能用,已被操作系统的
 程序占用了。每个端口号上只能有一个应用程序

 InetAddress
 (1)提供了n多方法对ip地址进行操作。表示互联网中
 的ip地址,java,net.InetAddress,不能new,调用静态方法
 (2)getLocalHost()获取本地主机
      getHostname()获取主机名
      getHostAddress()获取IP地址
      相当于帮你自己切割了第一个方法返回的字符串
      getByName(String hostname)拿别人的ip
      括号里面写主机名,可能会重复,推荐些ip地址
  
UDP与TCP协议
  (1)UDP特点:是无连接通信协议,不能保证完整性和安全性发送端不会
  确认接收端在不在,接收方也不会反馈,消耗资源少,通信效率高,
  比如视频会议关键点不管对方在不在线,不害怕丢数据。
  面向无连接,数据在64k以内。大了不安全,有隐患。
  (2)TCP协议:面向连接协议,提供了两台计算机之间无差错的
  可靠的连接,必须经过三次握手,必须确认连接,连接速度比较慢
  但是为了安全,牺牲速度也理所应当。

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值