wang xiaofei [email protected]/courses/2006_advanced_internet/handout/13....
TRANSCRIPT
MMLab
Written by David Written by David D.ClarkD.Clark MITMIT
Wang XiaofeiWang [email protected]@mmlab.snu.ac.kr
MMLab
ContentsContents
11 IntroductionIntroduction
22 Architecture GoalsArchitecture Goals
33 Datagrams & TCPDatagrams & TCP
44 ConclusionConclusion
MMLab
1.Introduction1.Introduction
DARPADARPA““Defense Advanced Research Project AgencyDefense Advanced Research Project Agency””•• TCP/IP was first proposed 15 years ago by DARPA.TCP/IP was first proposed 15 years ago by DARPA.•• The design philosophy has evolved considerably from The design philosophy has evolved considerably from
the first original proposal to the current standards.the first original proposal to the current standards.–– Datagram, Datagram, –– The layering of the architecture is divided into the IP and The layering of the architecture is divided into the IP and
TCP layersTCP layers
View the original objectives of the internet View the original objectives of the internet architecture and discuss the relation between architecture and discuss the relation between these goals and the features of the protocolthese goals and the features of the protocol
MMLab
2.Architecture Goals2.Architecture Goals
Fundamental goalFundamental goalto develop an effective technique for multiplexed to develop an effective technique for multiplexed utilization of existing interconnected networks.utilization of existing interconnected networks.•• Purpose at that time: to connect together the original Purpose at that time: to connect together the original
ARPANET with the ARPA packet radio network.ARPANET with the ARPA packet radio network.
to design a unified system which incorporated a to design a unified system which incorporated a variety of different transmission media:variety of different transmission media:•• A MultiA Multi--media Networkmedia Network
The technique selected for multiplexing The technique selected for multiplexing was was packet switchingpacket switching..
MMLab
2.Architecture Goals2.Architecture Goals
Packet switching Packet switching fundamental componentfundamental component•• 1.An alternative ( circuit switching ) could have been 1.An alternative ( circuit switching ) could have been
considered, but the applications were naturally served considered, but the applications were naturally served by the packet switching paradigm, and the networks by the packet switching paradigm, and the networks of the projects were packet switching networks.of the projects were packet switching networks.
•• 2.Technique of store and forward packet switching 2.Technique of store and forward packet switching was well understood. ( ARPANET )was well understood. ( ARPANET )
•• 3.The top level assumption was that networks would 3.The top level assumption was that networks would be interconnected by a layer of Internet packet be interconnected by a layer of Internet packet switches, which were called switches, which were called gatewaysgateways
MMLab
2.Architecture Goals2.Architecture Goals
The fundamental Internet structure:The fundamental Internet structure:A A packetpacket--switched communications facilityswitched communications facility ;;A number of A number of distinguishable networksdistinguishable networks are are connected together using connected together using packet packet communications processorscommunications processors, called , called gatewaysgateways;;Gateways implement a Gateways implement a store and forward packet store and forward packet forwarding algorithmforwarding algorithm to make the communication.to make the communication.
•• TThe top level goal is he top level goal is ““effectiveeffective””, but what an effective , but what an effective interconnection must achieve?interconnection must achieve?
MMLab
2.Architecture Goals2.Architecture Goals
Second Level Goals: Second Level Goals: (sorted by (sorted by prioritiespriorities))
1.Must continue despite loss of networks or gateways1.Must continue despite loss of networks or gateways2.Must support multiple types of communications service2.Must support multiple types of communications service3.Must accommodate a variety of networks3.Must accommodate a variety of networks4.Must permit distributed management of its resources4.Must permit distributed management of its resources5.Must be cost effective5.Must be cost effective6.Must permit host attachment with a low level of effort6.Must permit host attachment with a low level of effort•• These goals are These goals are in order of importancein order of importance..•• Different network architectures require different order.Different network architectures require different order.
–– E.g. If a network is designed to operate in military context, thE.g. If a network is designed to operate in military context, the e survivability will be a first goal, and accountability may be a survivability will be a first goal, and accountability may be a last last goal.goal.
MMLab
2.Architecture Goals2.Architecture Goals
Survivability in the face of failureSurvivability in the face of failure•• Internet should go on supplying communications Internet should go on supplying communications
service, even though some gateways or networks are service, even though some gateways or networks are failing.failing.
–– Without having to reestablish or reset the high level state of Without having to reestablish or reset the high level state of their conversation.their conversation.
–– Synchronization between sender and receiver would never be Synchronization between sender and receiver would never be lost unless there was no physical path.lost unless there was no physical path.
•• The architecture was to mask completely any transient The architecture was to mask completely any transient failure.failure.
•• OnOn--going conversation must be protectedgoing conversation must be protected–– replicated transmission.replicated transmission.
MMLab
2.Architecture Goals2.Architecture Goals
Types of ServiceTypes of Service•• Should support, at the transport service level, a Should support, at the transport service level, a
variety of types of service.variety of types of service.–– E.g. E.g.
»» remote login requires a service with low delay but low remote login requires a service with low delay but low requirements for bandwidthrequirements for bandwidth
»» File transfer was less concerned with delay, but very File transfer was less concerned with delay, but very concerned with high throughput.concerned with high throughput.
–– TCP attempted to provide both.TCP attempted to provide both.
•• But it is too difficult to build support for all types of But it is too difficult to build support for all types of service into one protocol.service into one protocol.
–– TCP doesnTCP doesn’’t support well:t support well:»» Debugger protocol.Debugger protocol.»» RealReal--time delivery service.time delivery service.
MMLab
2.Architecture Goals2.Architecture Goals
•• More than one transport service would be required, so More than one transport service would be required, so the architecture must be prepared to tolerate the architecture must be prepared to tolerate simultaneously transports which wish to constrain simultaneously transports which wish to constrain reliability, delay, or bandwidth, at a minimum.reliability, delay, or bandwidth, at a minimum.
–– TCP and IP, which had been originally a single protocol, TCP and IP, which had been originally a single protocol, now is separated into 2 layers.now is separated into 2 layers.
•• TCP provides one particular type of service, the TCP provides one particular type of service, the reliable sequenced data streamreliable sequenced data stream
»» UDP provides a application level interface to the basic UDP provides a application level interface to the basic datagram service of internetdatagram service of internet
•• IP attempt to provide a basic building block IP attempt to provide a basic building block ( ( datagramdatagram ) out of which a variety of types of service ) out of which a variety of types of service could be builtcould be built
MMLab
2.Architecture Goals2.Architecture Goals
Varieties of NetworksVarieties of Networks•• Be able to incorporate and utilize a wide variety of Be able to incorporate and utilize a wide variety of
network technologies, including military and network technologies, including military and commercial facilities.commercial facilities.
»» ARPANET, X.25, broadcast satellite nets, LAN, etcARPANET, X.25, broadcast satellite nets, LAN, etc……
Internet architecture achieves the flexibility by:Internet architecture achieves the flexibility by:–– Assume that the net can transport a packet or datagram.Assume that the net can transport a packet or datagram.
»» of reasonable size, reasonable reliability.of reasonable size, reasonable reliability.–– The net must have suitable form of addressing.The net must have suitable form of addressing.
•• The net can support these assumption directly, or by The net can support these assumption directly, or by network interface software.network interface software.
MMLab
2.Architecture Goals2.Architecture Goals
Other GoalsOther GoalsDistributed management :Distributed management :•• Several different management centerSeveral different management center•• Each operating a subset of the gateways.Each operating a subset of the gateways.•• TwoTwo--tier routing algorithm tier routing algorithm
•• Lack of sufficient tools for distributed management.Lack of sufficient tools for distributed management.–– One change of future internet architecture will probably be One change of future internet architecture will probably be
the development of a new generation of tools for the development of a new generation of tools for management of resources in the context of multiple management of resources in the context of multiple administrations.administrations.
MMLab
2.Architecture Goals2.Architecture Goals
Cost effective :Cost effective :•• Not tailored, not efficiency.Not tailored, not efficiency.
–– Headers of a packet is fairly longHeaders of a packet is fairly long–– RetransmissionRetransmission
AccountabilityAccountability•• Only now being studied, few tools for accounting for Only now being studied, few tools for accounting for
packet flowspacket flows
MMLab
3.Datagrams & TCP3.Datagrams & TCP
DatagramsDatagrams•• 1.They eliminate the need for connection state within 1.They eliminate the need for connection state within
the intermediate switching the intermediate switching nodwsnodws–– Internet can be reconstituted after a failure without concern Internet can be reconstituted after a failure without concern
about state.about state.
•• 2.They provide a basic building block out of which a 2.They provide a basic building block out of which a variety of types of service can be implementedvariety of types of service can be implemented
•• 3.They represent the minimum network service 3.They represent the minimum network service assumption, which has permitted a wide variety of assumption, which has permitted a wide variety of networks to be incorporated into various internet networks to be incorporated into various internet realizations.realizations.
–– It is wrong to say that the motivation for datagrams is the It is wrong to say that the motivation for datagrams is the support of a higher level service.support of a higher level service.
MMLab
3.Datagrams & TCP3.Datagrams & TCP
TCP TCP Flow control based on bytes or packets?Flow control based on bytes or packets?»» TCP chose to TCP chose to regulate the delivery of bytesregulate the delivery of bytes»» Flow control and ACK in TCP is thus based on byte number Flow control and ACK in TCP is thus based on byte number
rather than packet number.rather than packet number.–– 1.to permit the insertion of control information into the 1.to permit the insertion of control information into the
sequence space of the bytes, so that control as well as data sequence space of the bytes, so that control as well as data could be acknowledged.could be acknowledged.
–– 2.to permit the TCP packet to be broken up in to smaller 2.to permit the TCP packet to be broken up in to smaller packets if necessary in order to fit through a net with a small packets if necessary in order to fit through a net with a small packet size.packet size.
–– 3.to permit a number of small packets to be gathered 3.to permit a number of small packets to be gathered together into one larger packet in the sending host if together into one larger packet in the sending host if retransmission of the data was necessary.retransmission of the data was necessary.
»» Correct design may have been to use both packets and bytes Correct design may have been to use both packets and bytes for the control, just as ARPANET didfor the control, just as ARPANET did..
MMLab
3.Datagrams & TCP3.Datagrams & TCP
EndEnd--OfOf--Letter flag, ( EOL )Letter flag, ( EOL )–– Vanished from protocol, replaced by Push flag, ( PSH )Vanished from protocol, replaced by Push flag, ( PSH )
•• To break the byte stream into recordsTo break the byte stream into records•• The data up to this point in the stream is one or more The data up to this point in the stream is one or more
complete applicationcomplete application--level elements.level elements.•• The buffer is returned to the user either when it is full, The buffer is returned to the user either when it is full,
or an EOL is received.or an EOL is received.•• EOL should be tool for mapping the byte stream to the EOL should be tool for mapping the byte stream to the
buffer management of the host.buffer management of the host.
MMLab
4.Conclusion4.Conclusion
In the context of its priorities, the In the context of its priorities, the Internet architecture is successful.Internet architecture is successful.Datagram has served very well in Datagram has served very well in solving the most important goals.solving the most important goals.
•• Most datagrams are a part of some sequence of Most datagrams are a part of some sequence of packets from source to destination, rather than packets from source to destination, rather than isolated units at the application level.isolated units at the application level.
•• Gateway cannot directly see the existence of this Gateway cannot directly see the existence of this sequence. It is forced to deal with each packet in sequence. It is forced to deal with each packet in isolation.isolation.
•• Resource management decisions or accounting must Resource management decisions or accounting must be don on each packet separately.be don on each packet separately.
MMLab
4.Conclusion4.Conclusion
A better building block for the next A better building block for the next generation of architecture.generation of architecture.
““FlowFlow””•• Identify a sequence of packets traveling from the Identify a sequence of packets traveling from the
source to the destination, without assuming any source to the destination, without assuming any particular type of service with that service.particular type of service with that service.
•• Gateway can have flow state in order to know the Gateway can have flow state in order to know the nature of the flows. But the state info is not critical in nature of the flows. But the state info is not critical in maintaining the desired type of service. That type of maintaining the desired type of service. That type of service would be enforced by the end points, by service would be enforced by the end points, by sending periodically message to ensure the proper sending periodically message to ensure the proper type of service is being associated with the flowtype of service is being associated with the flow
•• ““Soft stateSoft state””–– survivability & flexibility, management & accountabilitysurvivability & flexibility, management & accountability
»» CCurrent research within the DARPA Internet Programurrent research within the DARPA Internet Program
MMLab
ReferenceReference
The original vision of TCP came from The original vision of TCP came from Robert KahnRobert Kahn and and Vinton Vinton CerfCerf, who saw , who saw very clearly, back in 1973, how a very clearly, back in 1973, how a protocol with suitable features might be protocol with suitable features might be the glue that would pull together the the glue that would pull together the various emerging network technologies.various emerging network technologies.They guided the DARPA in early days to They guided the DARPA in early days to the point how TCP/IP became standards.the point how TCP/IP became standards.Universities, research laboratories, Universities, research laboratories, corporations.corporations.
MMLab
[email protected]@mmlab.snu.ac.kr