本文通过两个图来梳理TCP-IP协议相关知识.TCP通信过程包括三个步骤:建立TCP连接通道,传输数据,断开TCP连接通道.如图1所示,给出了TCP通信过程的示意图. 图1主要包括三部分:建立连接.传输数据.断开连接. 1)建立TCP连接很简单,通过三次握手便可建立连接. 2)建立好连接后,开始传输数据.TCP数据传输牵涉到的概念很多:超时重传.快速重传.流量控制.拥塞控制等等. 3)断开连接的过程也很简单,通过四次握手完成断开连接的过程. 三次握手建立连接: 第一次握手:客户端发送syn包(s…
网络协议那么多,为什么面试喜欢问TCP?原因无外乎两个:1.TCP协议直接与进程打交道,写网络程序要用:2.TCP协议设计十分精巧,在一个不可靠的IP网络上实现了可靠传输,因为精巧,掌握TCP的原理自然也有难度,对它掌握如何,很能反映面试者的基础水平.闲言少叙,看看这几个问题你能不能答出来! 1.A进程通过TCP向另一台机器上的B进程发送了一个字符串“hello”,TCP返回对方成功接收的确认信息,请问,现在进程A是否可以肯定地说进程B收到了它发送的字符串? 答案:不能!举反例,进程B所在机器的…
读书笔记——<图解TCP/IP>(1/4) 经典摘抄 第一章 网络基础知识 1.独立模式:计算机未连接到网络,各自独立使用的方式. 2.广域网 WAN 局域网 LAN 城域网 MAN 3.计算机发展的7个阶段 批处理系统:实现将用户程序和数据装入卡带或磁带,并由计算机按照一定的顺序读取,使用户所要执行的这些程序和数据能够一并批量得到处理的方式.批处理时代的计算机主要用于大规模计算或处理. 分时系统:重要特性——独占性.BASIC是关注分时系统的初学者们必学的一门开发语言. 计算机之间的通信:计…
经常在笔试.面试或者工作的时候听到这些协议,虽然以前没怎么涉及过,但至少知道这些是和网络编程密不可分的知识,作为一个客户端开发程序员,如果可以懂得网络编程的话,他的作用和能力肯定会提升一个档次.原因很简单,这是个信息化时代,由于网络的存在使得人与人.人与网络的联系变得及其地紧密,游戏联网了才好玩,音视频在线了才更方便看.而且,对于一个程序员来说,懂得网络编程将使得自己的能力和价值得到更大的提升,从很多高级软件开发职位的招聘信息就可以看得出来:熟悉http,socket等网络连接编程,了解TCP/…
HTTP.FTP.SMTP.Telnet等等协议,哦!那个HTTP协议啊就是访问网页用的那个协议啊然后那个······其实······你懂得,我们应该从实际来了解他,理解网络协议的作用与功能,然后再从根本来看他是具体怎么实现的.我们可以先从HTTP.FTP.DHCP.DNS.ARP等常见协议开始入手了解它是如何工作的,然后照着这个态度再去深入了解其他的协议.先不多扯了进入正题. 一.什么是TCP/IP? 顾名思义 TCP/IP(Transmission Control Protocol/Inte…
经典摘抄 第八章 应用层协议概要 1.应用协议是为了实现某种应用而设计和创造的协议. 2.TCP/IP的应用层包含了管理通信连接的会话层功能.转换数据格式的表示层功能,还包括与对端主机交互的应用层功能在内的所有功能. 3.实现从自己的本地计算机登录到网络另一端计算功能的应用就叫做远程登录.远程登录主要使用TEL-NET和SSH两种协议. 4.TELNET可以分为两类基本服务,一是仿真终端功能,而是协商选项机制. 5.SSH是加密的远程登录系统. SSH的功能: (1)可以使用更强的认证机制 (2…
把这三个协议放到一起学习是因为这三个协议处于同一层,ARP协议用来找到目标主机的Ethernet网卡Mac地址,IP则承载要发送的消息.数据链路层可以从ARP得到数据的传送信息,而从IP得到要传输的数据信息. 1.IP协议 IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGCP的数据都以IP数据格式传输.要注意的是,IP不是可靠的协议,这是说,IP协议没有提供一种数据未传达以后的处理机制--这被认为是上层协议--TCP或UDP要做的事情.所以这也就出现了TCP是一个可靠的协议…
一. SSL 1. SSL简介 SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持.SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装.压缩.加密等基本功能的支持. SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证.协商加密算法.交换加密密钥等. SSL协议提供的服务主要有:1)认证用户和…
SOCK_STREAM 数据流 一般是tcp/ip协议的编程 有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料(如文件)传送 SOCK_DGRAM 数据包 udp协议网络编程 是无保障的面向消息的socket , 主要用于在网络上发广播信息. 关于UDP UDP协议适用端口分别运行在同一台设备上的多个应用程序,UDP不提供数据报分组.组装和不能对数据包进行排序的缺点.也就是说,当报文发送之后,是无法得知其是否安全完整到达的. 在网络质量令人不十分满意的环境下,UDP协议数…
理论技术:TCP/IP协议族(四)ICMP和IGMP协议! 应该先说IP协议的,后来考虑到层次性,还是先把支撑协议介绍完在细说IP!因为IP是我的最爱也是我的痛!呵呵! 一.ICMP协议 为什么要使用ICMP!使用ICMP的原因是什么呢? 先简单说下IP 不能做的!IP 不能提供差错控制和辅助机制(如:主机的管理和查询)! 为此,ICMP很好的承担了这个任务! ICMP是网际控制包协议,它的功能是:差错报告和查询 ICMP发送的ICMP包并不能直接交到下1层,必须在加IP的包头! ICMP的包分…