Linux网络编程

来源:互联网 发布:男人影视软件下载 编辑:程序博客网 时间:2024/06/10 09:10

一、Tcp/Ip理论基础

1、Linux的优点之一就是在于它丰富而稳定的网络协议栈,其范围是从协议无关层(如通用的socket层接口和设备层)到各种网络协议的实现;
2、Tcp/Ip协议族

      Tcp/Ip协议族是一个四层协议系统,分别是应用层、传输层、网际层、网络接口层。每一层完成不同的功能,且通过若干协议来实现,上层

       协议使用下层协议提供的服务。

3、协议:

      应用层            TFTP、FTP、Telnet、DNS

      传输层            TCP、UDP

      网际层            ICMP、IP、ARP、RARP

      网络接口         FDDI 、PDN、PPP、IEEE802.1A、IEEE802.2

4、传输层为两台主机上的应用程序提供端到端的通信

       传输层只关心通信的起始端和目的端,而不在乎数据包的中转过程

5、传输层协议主要有两个,包括传输控制协议和用户数据报文协议                                    (可靠的,面向连接的,基于流的服务)

      传输控制协议(TCP):该协议对建立网络上用户进程之间的对话负责,它确保进程之间的可靠通信,所提供的功能如下:
      1.监听输入对话建立请求
      2.请求另一网络站点对话
      3.可靠的发送和接收数据

      4.适度的关闭对话

6、Tcp协议头

      源端口                           目的地端口

      顺序号数

      确认号数

      数据偏移     保留        标志位              窗口

      校验和                                                   紧急指示器

      选型                                                       填充

                               TCP数据

目的地地址     源地址     类型字段        IP头        ( IP数据 )           CRC

7、TCP三次握手四次挥手

       建立连接时的三次握手  

       1、客户端向服务端发送连接请求    (是一个同步报文段)

       2、服务器同意与客户端建立连接,同时发送自己的序号,并对第一个报文段进行确认

       3、客户端对第二个同步报文段进行确认

 

       关闭连接的四次挥手

       1、第四个报文段包含FIN标志,因此是结束报文段,客户端请求关闭连接

       2、服务器确认该结束报文段

       3、服务器发送自己的结束报文段

       4、客户端确认该结束报文段

8、UDP也是传输层协议,它是无连接的,不可靠的传输服务.

      当接收数据时它不向发送方提供确认信息,它不提供输入包的顺序,如果出现丢失包或重份包的情况,

      也不会向发送方发出差错报文.由于它执行功能时具有较低的开销,因而执行速度比TCP快

9、UDP协议头

       源端口                                    目的地端口

       报文长度                                检验和

                                数据

                                数据

                                数据


目的地地址        源地址      类型字段       IP头      (  IP数据  )         CRC

10、应用层

        应用层负责处理应用程序的逻辑,比如文件传输,名称查询和网络管理

        Telnet   :远程登录协议

        DNS     :域名解析协议,提供机器域名到IP地址的转换

        TFTP    :简单文件传输协议

        FTP      :文件传输协议

11、网际层

        网际层实现数据包的选拔和转发         通信的两台主机一般不是直接相连的      中间节点(路由器)

12、IP协议

        IP主要有以下四个主要功能: 数据传输、寻址  、路由选择 、数据报文的分段

13、IP报头

        UERS          HLEN           服务类型              总长度

        识别                                                                 标记     分段偏移

        生存期                                协议                     检验和

                                                源IP地址

                                              目的地IP地址

                                                IP选项(可以没有)           填充

                                               IP数据报文数据(可多达65535)字节

目的地地址      源地址         类型字段         IP头          IP数据              CRC

14、网络接口层

        网络接口把数据链路层和物理层放在一起,对应TCP/IP概念模型的网络接口。

        对应的网络协议是:Ethemet、FDDI、和能传输IP数据包的的任何协议

15、TCP 与 UDP 的比较

         1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接

         2、TCP提供可靠的服务      UDP不可靠

         3、TCP面向字节流              UDP基于数据报

         4、TCP执行速度慢              UDP没有拥塞控制   执行速度快

         5、TCP连接点到点(一对一的)UDP支持一对一,一对多, 多对一,多对多的交互通信(适用广播和多播)

         6、TCP首部开销20字节;UDP的首部开销小,只有8个字节


         



原创粉丝点击